发布时间:2019-09-25 08:26:07编辑:auto阅读(1903)
循环
要计算1+2+3,我们可以直接
>>> 1+2+3 6
要计算1+2+3+....+10,勉强也能写出来。
但是,要计算1+2+3......+1000,直接写就有点难了。
为了让据算计成千上万次的重复运算,我们就需要用到循环语句了
python的循环语句有两种,一种是 for....in 循环,一次把 list 或 tuple 中的每个元素 迭代 出来,看例子:
>>> names = ['xiaolan','xiaohong','xiaoming'] >>> for name in names: print(name)
执行这一段代码,会一次打印 names 的每一个元素:
xiaolan xiaohong xiaoming
所以 for x in ... 循环就是把每个元素代入变量 x, 然后执行缩进块的语句。
再比如我们想计算1-10的整数之和,可以用一个 sum 变量做累加:
>>> sum = 0 >>> for x in [1,2,3,4,5,6,7,8,9,10]: sum=sum+x >>> print(sum) 55
如果要计算1-100 的整数之和,从1写到100有点困难,信号python提供了一个range()函数,可以生成
一个整数序列,再通过list()函数可以转换为 list 。
比如 range(5)生成的序列是从0开始小于5的整数:
>>> list((range(5))) [0, 1, 2, 3, 4]
range(101)就可以生成0-100的整数序列,计算如下:
>>> sum = 0 >>> for x in range(101): sum=sum+x >>> print(sum) 5050
第二种是while循环,只要满足条件就不断循环,条件不满足时推出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:
>>> sum = 0>>> n=99 >>> while n>0: sum=sum+n n=n-2 >>> print(sum) 2500
再循环内部n不断自减,直到变为-1时,不再满足while条件,循环推出。
练习
请利用循环依次对list中的每个名字打印出Hello, xxx!
:
L = ['Bart', 'Lisa', 'Adam']
>>> L = ['Bart', 'Lisa', 'Adam'] >>> for name in L: print('Hello,%s'%name) Hello,BartHello,Lisa Hello,Adam
上一篇: Python3 实现简易ping监控并发
下一篇: CentOS7 升级 python3 过
47760
46269
37152
34655
29246
25906
24778
19878
19441
17933
5730°
6335°
5853°
5903°
7004°
5841°
5860°
6372°
6331°
7695°