条件判断计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。
比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用 age = 20 if age >= 18: print 'your age is', age print 'adult'
根据Python的缩进规则,如果
也可以给 age = 3 if age >= 18: print 'your age is', age print 'adult' else: print 'your age is', age print 'teenager'
注意不要少写了冒号
当然上面的判断是很粗略的,完全可以用 age = 3 if age >= 18: print 'adult' elif age >= 6: print 'teenager' else: print 'kid'
if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4>
age = 20 if age >= 6: print 'teenager' elif age >= 18: print 'adult' else: print 'kid'
if x: print 'True'
只要 循环Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子: names = ['Michael', 'Bob', 'Tracy'] for name in names: print name
执行这段代码,会依次打印 Michael Bob Tracy
所以
再比如我们想计算1-10的整数之和,可以用一个 sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print sum 如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可以生成一个整数序列,比如range(5)生成的序列是从0开始小于5的整数: >>> 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
在循环内部变量 再议raw_input
最后看一个有问题的条件判断。很多同学会用 birth = raw_input('birth: ') if birth < 2000: print '00前' else: print '00后'
输入
当然不是Python的问题,在Python的交互式命令行下打印 >>> birth '1982' >>> '1982' < 2000 False >>> 1982 < 2000 True
原因找到了!原来从 birth = int(raw_input('birth: '))
再次运行,就可以得到正确地结果。但是,如果输入 Traceback (most recent call last): ... ValueError: invalid literal for int() with base 10: 'abc'
原来
如何检查并捕获程序运行期的错误呢?后面的错误和调试会讲到。 小结条件判断可以让计算机自己做选择,Python的if...elif...else很灵活。
循环是让计算机做重复任务的有效的方法,有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用 请试写一个死循环程序。 转载请保留固定链接: https://linuxeye.com/program/2260.html |