【发布时间】:2016-08-10 08:12:21
【问题描述】:
我是编码新手,我很难理解下面的代码,它打印出所有低于 10 的素数。
N = 10
primes = []
for n in range(2,N+1):
for p in primes:
if n % p == 0: break
else:
primes.append(n)
print(primes)
我的问题是 - 在第一次迭代期间 p 的值是多少?不是0吗?如果是这样,n%p 总是 0 对吗?请帮我理解。
【问题讨论】:
-
你可以……在这里和那里添加一些
print语句来理解这段代码的作用……?! -
很难看到,但
else看起来像是for循环的一部分,所以它会首先附加 2,然后在for循环中开始使用if条件进一步的迭代 -
代码的格式看起来不对。确保你更正它。
-
我已经纠正了缩进,假设它是
for..else,因为据说这段代码正在工作。
标签: python python-3.x