def primes_number(number=30):
for x in range(2, number):
for y in range(2, int(x ** 0.5) + 1):
if x % y == 0:
break
else: # no break
print(x)
primes_number()
def primes_number(number = 5):
primesDict = {}
for x in range(1, number):
for y in range(2, x):
if((number % x) != 0):
if y in primesDict : continue
primesDict[y] = x
print(y)
print(primes_number(number=7))
您的代码中有多个错误:
现在我们已经完成了
number
变量的使用,它应该是x % y
这个
else
属于for
,而不是if
。我将在下面演示如果成功,我们应该打印
x
,而不是y
,除数无需在此处打印,因为
primes_number()
不会返回任何内容,并且您已经在函数本身中完成了所有打印这是一个对代码进行最小修改的工作版本:
我做了一次优化,只测试了整数平方根的除数
输出
您需要在
if
下添加一些内容。Python需要代码。如果不想在那里添加任何内容,可以使用pass
这将使您的代码如下所示:
这里是更干净的版本; a) 已删除函数输出的打印,因为未返回任何输出 b) 跟踪primeDict(字典)中的所有素数
输出
相关问题 更多 >
编程相关推荐