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子句就会执行。
#!/usr/bin/env python def showMaxFactor(num): count = num/2 while count > 1: if num % count == 0: print ‘largest factor of %d is %d‘ % (num, count) break count -= 1 else: print num, ‘is prime‘ if __name__ == ‘__main__‘: for eachNum in range(10, 21): showMaxFactor(eachNum) [ python]# python maxFact.py largest factor of 10 is 5 11 is prime largest factor of 12 is 6 13 is prime largest factor of 14 is 7 largest factor of 15 is 5 largest factor of 16 is 8 17 is prime largest factor of 18 is 9 19 is prime 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