鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

[技术交流] Python:每日一题 8

  [复制链接]
发表于 2019-1-3 20:22:16 | 显示全部楼层
  1. def getNum() :
  2.         numlist = []
  3.         for i in range(101, 201) :
  4.                 flag = 0
  5.                 for j in range(2, i + 1) :
  6.                         if i % j == 0 :
  7.                                 flag += 1
  8.                 if flag < 2 :
  9.                         numlist.append(i)
  10.         print('101 到 200 之间的质数共有:', len(numlist), ' 个')
  11.         for i in numlist :
  12.                 print(i, end=', ')

  13. getNum()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-16 20:32:49 | 显示全部楼层
  1. import math

  2. for i in range(101, 201):
  3.     q = int(math.sqrt(i))
  4.     for j in range(2, q+1):
  5.         if i % j == 0:
  6.             break
  7.         if j == q:
  8.             print(i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-22 22:54:07 | 显示全部楼层
本帖最后由 冷_月 于 2019-1-22 22:57 编辑
  1. from math import sqrt
  2. a = []
  3. for n in range(101,201):
  4.     for i in range(2,int(sqrt(n)) +1):
  5.         if n % i == 0:
  6.             a = n
  7.     if a != n:
  8.         print(n)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-24 15:54:36 | 显示全部楼层
本帖最后由 anticheung 于 2019-1-24 15:56 编辑
  1. numlis = []
  2. data_n = 0
  3. for num in xrange(101 , 201):
  4.    
  5.     numlis.append(num)
  6.    
  7.     for i in xrange(2,num):
  8.         
  9.         if num%i == 0:
  10.             
  11.             numlis.remove(num)
  12.             break
  13.         
  14.         else:
  15.             
  16.             pass
  17.    
  18. for nums in numlis:
  19.     data_n += 1   
  20.     print nums
  21.             
  22. print 'Number of data:%d' % data_n
复制代码


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-22 14:14:59 | 显示全部楼层
from math import sqrt

sum = 0
for n in range(101, 200, 2):
    leap = 0
    for i in range(3, int(sqrt(n))+1, 2):
        if n % i == 0:
            leap = 1
            break

    if leap == 0:
        print(n)
        sum += 1

print("The total is", sum)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-11 13:39:51 | 显示全部楼层
from math import sqrt
ss = [i for i in range(101,201) if  0 not in [i % j for j in range(2,int(sqrt(i)+1))]]
print(ss)
print(len(ss))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-12 18:20:23 | 显示全部楼层
sushu=[]

for i in range(101,200):
    for j in range(2,int(i**0.5)+1):
        if i % j == 0:
            break
        else:
            if j==int(i**0.5):
                sushu.append(i)

print(sushu)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-2 15:36:56 | 显示全部楼层
#新手小弟见笑了
for a in range(101,201):
    b=2
    c=0
    while b<a:
        if a%b==0:
            c+=1
        b+=1
    if c==0:
        print(a)
   
   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-10 11:32:37 | 显示全部楼层
  1. L = []
  2. biaoji = 0
  3. for each in range(101,201):
  4.     for i in range(2,each):
  5.         if each%i != 0:
  6.             biaoji = 1
  7.             continue
  8.         else:
  9.             biaoji = 0
  10.             break
  11.     if biaoji == 1:
  12.         L.append(each)

  13. print(L)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-15 20:26:21 | 显示全部楼层
看到大佬们打那么多代码,突然感觉自己的是不是不对啊?
>>> for i in range(101,201):
        if i%2 != 0:
                print (i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-26 18:22:15 | 显示全部楼层
好像是这样:
def prime(n):
    if n == 1:
        return False
    if n == 2:
        return True
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

s = 0
for j in range(101, 200):
    if prime(j):
        s+= 1
        print(j, end=" ")
print()
print(s)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-26 18:50:21 | 显示全部楼层
  1. def isPrime( x ):
  2.         i = 2
  3.         while i*i <= x:
  4.                 if x % i == 0: return False
  5.                 i+= 1
  6.         return True

  7. result = [x for x in range(100, 200+1) if isPrime(x)]
  8. print(result)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-7 19:09:22 | 显示全部楼层
import math
def prime(start,end):
    for i in range(start,end):
        d = int(math.sqrt(i))+1
        for j in range(2,d+1):
            if not(i % j):
                break
        if j == d:
            yield i

if __name__ == "__main__":
    lista = [i for i in prime(101,201)]
    print(lista)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-7 20:21:17 | 显示全部楼层
  1. from math import sqrt
  2. for i in range(101,201):
  3.     count = 0
  4.     t = int(sqrt(i))
  5.     for j in range(2,t+1):
  6.         if i%j == 0:
  7.             count = 0
  8.             break
  9.         else:
  10.             count += 1
  11.     if count > 0:
  12.         print(i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-9 10:00:15 | 显示全部楼层
import math

flag = 1
for i in range(101,201):
    for j in range(2,int(math.sqrt(i))+1):
        if i % j == 0:
            flag = 0
            break
    if flag == 1:
        print("%d" % i)
    flag = 1
        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-31 21:13:26 | 显示全部楼层
>>> for i in range(101,201):
        for j in (2,int(math.sqrt(i))+1):
                if i%j==0:
                        break
        else:
                print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-4 20:35:48 | 显示全部楼层
> for i in range(101,201):
        for j in range(2,i):
                if i%j==0:
                        break
        else:
                print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-22 10:49:40 | 显示全部楼层
import math
def fun8():
    L = []
    for i in range(101,200):
        for N in range(2,int(math.sqrt(i))+1):            
            if((i%N)==0):               
                break
            else:
                L.append(i)
                break
    print(L,len(L))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-16 11:29:43 | 显示全部楼层
本帖最后由 ka233siji 于 2020-1-16 11:31 编辑
  1. count,bre = 0,0
  2. list = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97]
  3. for i in range(101,200) :
  4.     for j in list :
  5.         if not i%j :
  6.             bre = 1
  7.             break
  8.     if not bre :
  9.         print(i,end=' ')
  10.         count+=1
  11.     bre = 0
  12. print('\ntotal is %d'%count)
复制代码

运行结果
  1. 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
  2. total is 21
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-12 05:35:32 | 显示全部楼层
def is_prime(n):
    if n==2 or n==3:
        return True
    else:
        for i in range (2,int(n**0.5)+1):
            if n%i==0:
                return False
        else:
            return True
count,L=0,[]
for i in range(101,201):
    if is_prime(i):
        count+=1
        L.append(i)
print('101-200之间共有%d个素数'%count)
print('分别是:')
print(L)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 01:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表