pythonwhile循环求和_Python基础——forwhile循环
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ
上学期间,常常遇到这样的情景:为了惩罚学⽣,⽼师会说:“XXX,你先去操场上跑10圈再回来继续反省。”
这话虽短,但含义深刻。不过这在当时,我是体会不到其中的“深意”的。直⾄⼤学,当接触到C++编程时,我才领悟到这其中的内涵。原来这句话中饱含编程哲学啊。什么哲学呢?围着操场跑道,重复跑10圈……这不就是“循环”嘛?
⾔归正传,for/while循环有什么作⽤呢?前⾯讲的Python基础知识中的代码就不需要循环啊。那下⾯来看⼏种情形呗~~~
情形⼀:求和。求1+2+3的和,并输出结果。
1 #哈哈,我就不⽤循环,看你咋的
2 >>>sum = 1 + 2 + 3
3 >>>print(sum)
4 6
情形⼆:再是求和。求1+2+3+4+5+6+7+8+9+10的和,并输出结果。
1 #哈哈,我还不⽤循环,看你咋的
2 >>>sum = 1 + 2 +
3 +
4 +
5 +
6 +
7 +
8 +
9 + 10
3 >>>print(sum)
4 55
情形三:还是求和。求1+2+3+……+99+100的和,并输出结果。
1 #哈哈,我就不⽤循环,看你咋的
2 #我可以这样啊
3 >>>sum = 1 + 2 + 3 + ...... + 99 + 100
4 Traceback (most recent call last):
5 File "", line 1, in
6 TypeError: unsupported operand type(s) for +: 'int' and 'ellipsis'
7 #循环的魅⼒就在于此
drop表语句8 >>>sum =09 >>>for i in range(101):10 sum = sum +i11 >>>print(sum)12 5050
看来,循环不⽤不⾏啊。
range():⽣成⼀个整数序列。⽐如range(3)⽣成的序列是从0到2的整数:
1 #range()⽅法
后端开发培训生2 >>>list(range(3))
3 [0,1,2]
4 >>>list(range(1,6))
5 [1,2,3,4,5]
while循环
学习Python,使⽤笨⽅法可不⾏哦~~~
就像上⾯的情形⼆,直接写求和表达式。
为了避免上述情形⼆中笨重的代码,可以使⽤while循环:
1 #while循环
2 >>>sum =0
3 >>>i =0
4 >>>while i < 11:
5 ... sum = sum +i
6 ... i = i +1
7 ...8 >>>print(sum)9 55
在while循环内部,i不断加⼀,直到i变为11时,不再满⾜(i<11)while条件,循环退出。
while循环可以⽤来在任何条件为True的情况下重复执⾏⼀个代码块。
python基础代码语句因此,while循环:只要条件满⾜,就不断循环,条件不满⾜时退出循环。
for循环
⼀般地,while循环已经可以应付⼤多数的循环案例。然⽽,还是有while循环够不着的地⽅。这时就需要in⼤显⾝⼿啦。
⽐如要为⼀个集合的每个元素都执⾏⼀个代码块:
1 #集合
arraylist初始化2 >>>L = ['I','can','Python','!']
3 >>>for i inL:
4 ... print(i)
5 ...
6 I
7 can
8 Python
9 !
对于求和公式,in循环⽐while循环更加简洁:
1 #in循环⽐while循环简洁
2 #求和公式
3 #in循环
4 >>>sum =0
5 >>>for i in range(11):
6 ... sum = sum +i
7 ...
8 >>>print(sum)
9 55
10 #while循环
11 >>>sum =012 >>>i =013 >>>while i < 11:14 ... sum = sum +i15 ... i = i + 1
16 ...17 >>>print(sum)18 55
注:若可以使⽤in循环,就尽量不⽤while循环。
对于循环中的break语句和continue语句,我不推荐⼤家使⽤。为什么呢?其⼀是容易出错;其⼆是可以通过改写循环条件或者修改循环逻辑来替代break语句和continue语句。
死循环之吻
对于死循环,我相信⼤家都印象深刻。有些时候,如果代码写得有问题,会让程序陷⼊“死循环”,也就是永远循环下去。
如何解决死循环问题呢?⽅法如下:
⼀、Ctrl + C直接退出程序或强制结束Python进程。
对于出现编写Python程序代码时出现意想不到的问题⽽引起的死循环的情况,这种⽅法⾮常有效。
空代码块
在Python中,空代码块是⾮法的。
解决⽅法如下:
⼆、pass语句:什么都不做。
为了避免出现空代码块Error,⽅法就是在循环代码块中加⼊⼀个pass语句。
1 #pass语句
2 >>>for i in range(11):
3 ...生成五个1到10之间随机数
webbotproject4 ...
5 File "", line 3
6
7 ^
8 IndentationError: expected an indented block9 #空代码块错误
10 >>>for i in range(11):11 ... pass
12 ...13 >>>
⼩结
1. 为序列中的每⼀个元素执⾏⼀个语句块,或者在条件为真时继续执⾏⼀段语句;
2. 可以使⽤continue语句和break语句,但不推荐使⽤;
3. 死循环问题,Ctrl + C直接退出程序;
4. 循环:让计算机做重复任务的有效的⽅法。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论