我想打印从1到100的数字,跳过可被3或5整除的数字。我犯了一个缩进错误,我得到了两个值。逻辑是什么?
代码如下:
i = 1
while i<=100:
if not(i%3==0 or i%5==0):
print(i,end=" ")
i=i+1 ***indentation mistake***发布于 2021-04-23 18:25:08
@ if已经在注释中很好地解释了这一点,但基本上if not (i%3==0 or i%5==0):意味着如果这个数字可以被3或5整除,那么if块中的代码当然不会被执行。这意味着一旦i=3,if块将被跳过,while循环将继续,而不会增加i,这将导致无限循环。
顺便说一下,我会用一条continue语句来写这段代码,这样就可以清楚地知道你在做什么:
i = 0
while i < 100:
i += 1
if not i % 3 or not i % 5:
continue
print(i, end=" ")https://stackoverflow.com/questions/67226769
复制相似问题