我用python制作了这个素数生成器:
for x in range(a , b):
y = 2
while 1 == 1:
if x % y == 0:
if x == y:
print(x)
break
else:
break
y += 1
,只要a> 2和b> 3
,它将返回直到b的所有素数。例如,当a = 2且b = 11时,我得到了
2
3
5
7
但是当我将其嵌套在这样的函数中并打印时:
def f(b,a=2):
for x in range(a , b):
y = 2
while 1 == 1:
if x % y == 0:
if x == y:
print(x)
break
else:
break
y += 1
print(f(11))
我明白了:
2
3
5
7
None?
为什么在函数内部不打印而不打印不打印?我该如何解决?