python的循环一共有两种,一种是 for ... in,一种循环是 while 。
for ... in 循环:
依次把 list 或 tuple 中的每个元素迭代出来;
执行这段代码,会依次打印出 names 的每一个元素:
所以 for x in ...循环就是把每个元素带入变量 x ,然后执行缩进块的语句。
再比如我们想计算1-10的整数之和,可以用一个sum变量做累加
如果要计算1-100 的整数之和,从1写道100有点困难,型号python 提供了一个 range() 函数,可以生成一个整数序列,比如 range(5) 生成的序列是从0开始小于5的整数:
所以 range(101) 就可以生成0-100之间的整数序列,计算如下:
while循环:
while循环,只要条件满足,就不断循环,条件不满足就退出循环,
比如计算100以内的所有奇数之和,就可以用while循环实现:
在循环内部变量n 不断自减,直到变为 -1时,不在满足while条件,循环就退出
再议 raw_input
最后看一个有问题的判断,很多人会用 raw_input() 读取用户的输入,这样可以自己输入,程序运行的更有意思。。
输入169,结果也显示00后,这么简单的判断python也能搞错?
当然不是python的问题,在python的交互命令下打印birth看看:
raw_input() 读取的内容永远以字符串的形式返回,把字符串和整数比较就不会得到期待的结果,必须先用 int () 把字符串转换为我们想要的整型:
再次运行就是正确的结果。但是,如果输入 abc,又会得到一个错误信息:
因为 int() 发现一个字符串并不是合法的数字时就会报错,程序就退出了。
如何检查并捕获程序运行期的错误呢?后面的 错误和调试 会讲到。
小结:
条件判断可以让计算机自己做选择,python的 if elif else 很灵活。循环是让计算机做重复任务的有效的方法,有些时候,如果代码写的有问题会让程序陷入死循环,也就是永远循环下去,这时可以用Ctrl+c 退出程序,或者强制结束python进程。
这是一个死循环程序: