python条件与循环-条件
1.条件和循环
主要讨论:if、while、for以及相关的搭配else、elif、break、continue和pass语句。
1.1 if语句
if语句由三部分组成:关键字本身、用于判断结果真假的条件表达式、以及判断为真或非零时执行的代码块,语法如下:
if expression:
expr_true_suite
1.2 多重条件表达式
单个if语句可以使用and、or、not等实现多重判断条件。
if experssion1 and expression2:
expr_true_suite
1.3 单一语句的代码块
如果一个复合句(if语句、while或for循环)的代码块仅仅包含一行代码,可和前面的语句写在同一行。为了方便可读,一般不这样写。
if expression: expr_true_suite
1.4 else语句
if语句可以和else语句配合使用,如果判断为假,则调用else语句。语法如下:
if expression:
expr_true_suite
else:
expr_false_suite
特殊用法:可以在while和for循环中使用else语句,在循环中使用时,else子句只在循环完成后执行,也就是说break语句也会跳过else块。循环是正常结束的(不是通过break),else子句就会执行。
1 #!/usr/bin/env python 2 3 def showMaxFactor(num): 4 count = num/2 5 while count > 1: 6 if num % count == 0: 7 print 'largest factor of %d is %d' % (num, count) 8 break 9 count -= 1 10 else: 11 print num, 'is prime' 12 13 if __name__ == '__main__': 14 for eachNum in range(10, 21): 15 showMaxFactor(eachNum) 16 17 [root@localhost python]# python maxFact.py 18 largest factor of 10 is 5 19 11 is prime 20 largest factor of 12 is 6 21 13 is prime 22 largest factor of 14 is 7 23 largest factor of 15 is 5 24 largest factor of 16 is 8 25 17 is prime 26 largest factor of 18 is 9 27 19 is prime 28 largest factor of 20 is 10
1.5 elif(即else-if语句)
elif语句用于检查多个表达式是否为真,并在为真时执行代码块中的代码。语法如下:
if expression1:
expr1_true_suite
elif expression2:
expr2_true_suite
…
elif expression:
exprN_true_suite
else:
none_of_the_above_suite
可使用大量的if-elif语句来实现switch-case语句,也可以用序列和成员关系来实现,还可以用字典来实现。
1.6 条件表达式(即"三元操作符")
类似于C语言中的C?X:Y(C是表达式,X是C为True时的结果,Y是C为False时的结果)。python中的语法格式为:X if C else Y。
>>> x, y = 4, 3
>>> smaller = x if x < y else y
>>> smaller
3