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

相关推荐