If-else indentation
本问题已经有最佳答案,请猛点这里访问。
我现在在玩Python3.5。我正在研究一个简单的代码,找出小于给定整数的素数。我错误地解决了更多的代码,我不知道为什么。这是代码:
1 2 3 4 5 6 7 8 9 | n=int(input('Enter a numeric value: ')) for num in range(2, n+1): if num>1: for i in range(2, num): if (num%i)==0: break else: print(num) |
我似乎不明白的是,如果我像上面那样编写代码,它会给出一个正确的答案,如果我用另外一个缩进编写else语句,那么输出会有所不同。前任:
输入数值:10
三
五
五
五
七
七
七
七
七
九
为:
1 2 3 4 5 6 | ...if num>1: for i in range(2, num): if (num%i)==0: break else: print(num) |
我觉得有必要说我刚开始学Python,所以请慢一点:d
- 如果
if 不运行,则在if 运行后的else 运行。 - 如果
for 不运行break ,则for 运行后的else
你需要后一种行为,因为如果你找到了数字的一个因子,你就可以得到第11个(9)。