开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

据廖雪峰python3教程----python学习第五天

简介:
+关注继续查看

循环


要计算1+2+3,我们可以直接

1
2
>>> 1+2+3
6

要计算1+2+3+....+10,勉强也能写出来。

但是,要计算1+2+3......+1000,直接写就有点难了。

为了让据算计成千上万次的重复运算,我们就需要用到循环语句了

python的循环语句有两种,一种是  for....in 循环,一次把 list 或 tuple 中的每个元素 迭代 出来,看例子:

1
2
3
>>> names = ['xiaolan','xiaohong','xiaoming']
>>> for name in names:
     print(name)


执行这一段代码,会一次打印 names 的每一个元素:

1
2
3
xiaolan
xiaohong
xiaoming


所以 for x  in ... 循环就是把每个元素代入变量 x, 然后执行缩进块的语句。


再比如我们想计算1-10的整数之和,可以用一个 sum 变量做累加:

1
2
3
4
5
>>> sum = 0
>>> for 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的整数:

1
2
>>> list((range(5)))
[01234]


range(101)就可以生成0-100的整数序列,计算如下:

1
2
3
4
5
>>> sum = 0
>>> for in range(101):
     sum=sum+x
>>> print(sum)
5050


第二种是while循环,只要满足条件就不断循环,条件不满足时推出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:

1
2
3
4
5
6
7
>>> 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']

1
2
3
4
5
6
>>> L = ['Bart''Lisa''Adam']
>>> for name in L:
     print('Hello,%s'%name)
     Hello,BartHello,Lisa
      
Hello,Adam





本文转自 nw01f 51CTO博客,原文链接:http://blog.51cto.com/dearch/1754066,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
13688
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载