作为初学者,已经陷入while的几次死循环了。
比如:求100以内所有奇数之和。
用while来实现,我出现了以下死循环:
>>> sum = 0
>>> for i in range(1,101):
while i%2 != 0:
sum += i #死了……因为while条件永远满足
然后我灵机一动:
>>> sum = 0
>>> for i in range(1,101):
while i%2 != 0:
sum += i
i += 1
#添加了i += 1会使while条件不满足从而继续for语句。BUT在这里出现了功能重叠,因为for语句本身就具有i++的功能。这也是我写出死循环程序的原因,此外我把while当成条件判断在用了……(丢人脸…难过脸…)
此外,下面这个while语句的程序比较好:
>>> sum = 0
>>> n = 99
>>> while n>0:
sum += n
n -= 2
>>> print(sum)
2500
另外,也可以将死循环程序中的while语句直接改成if语句:
>>> sum = 0
>>> for i in range(1,101):
if i%2 != 0:
sum += i
>>> print(sum)
2500注意:
用while语句,一定要能跳出循环;
出现死循环,可以使用Ctrl+c来退出;也可以简单粗暴的使用任务管理器……


208

被折叠的 条评论
为什么被折叠?



