为啥这样写不对
来源:3-13 编程练习
SomnusL
2019-10-18 00:17:30
num=1
count=0
while num<=100:
if num%3==0 or num%7==0:
if num%3==0 and num%7==0:
pass
else:
count+=1
num += 1
else:
pass
print(count)
1回答
慕之熠_灿烈
2019-10-18
同学,你好。
首先,该写法错误的原因是num+=1的位置不应该放在if条件( if num%3==0 or num%7==0:)内,而应该放在与外层if···else同级的最后,如下图:
这样的写的原因是:实现题目要求需要具备两个条件(1)被3或者7整除;(2)但不能同时被3和7整除。也就是说满足条件(1)、(2)才可以使得count+=1,当对循环遍历的每一个num而言,无论对条件(1)、(2)是否满足,都应该进行num+=1操作,所以应该放置在循环体的最后一句(如上图)。
如果我的回答解决了您的疑惑,请采纳!祝~学习愉快~
相似问题