while死循环

作为初学者,已经陷入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来退出;也可以简单粗暴的使用任务管理器……





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值