我是 python 新手,我仍然在努力了解 sytnax 的工作原理,你需要如何对齐你的 If 和 else 以使其正常工作。我怎么真的知道哪个 if 与哪个 else 相配?特别是在使用嵌套代码块时。
在下面的代码中,else 后跟注释 Prime!据我了解, else 与 if 语句一起使用,(n % div == 0):
但是为什么它与 FOR 语句对齐呢?
我认为最后一个 else 语句是与之相关的,if n == 2:
但 else 与它没有对齐,而是在它之后。对于同一个语句if n == 2:
,为什么在它n += 1
之前pime_count +=1
而不是之后对齐。
我知道 Else 和 if 的位置非常重要,因为如果我决定移动它们中的任何一个,代码就会停止工作。我似乎无法理解的是,如果对齐方式似乎不一致,python 是如何知道其他情况的。
#!/usr/bin/env python
#
# Problem Set 1a
#
# A program that computes and prints the 1000th prime number.
# Finds primes using trial division (least efficient method)
#------------------------------------------------------------
prime_count = 0
n = 2
while (prime_count <= 1000):
#if even, check for 2, the only even prime
if (n % 2 == 0):
if n == 2:
prime_count += 1
n += 1
else:
# number is odd, possible prime
for div in range(3, n, 2):
if (n % div == 0):
# not a prime
n += 1
break
else:
# prime!
prime_count += 1
if prime_count == 1000:
print "The 1000 prime is", n
else:
n += 1