python流程控制语句-if语句

一个if语句

if语句用来检验一个条件, 如果 条件为真,我们运行一块语句(称为 if-块 ),也就是只有一个if判断,当为真的时候就运行一块语句,否则就不运行

下面代码中的if语句控制者缩进的print,没有缩进的print语句不受if语句控制,只要是在if语句下面并且缩进了,那么这条语句就受if语句控制

#!/usr/bin/python
# Filename: if.py

number = 123
guess = int(raw_input("Enter an integer:"))

if guess == number:
    print 'Congratulations, you guessed it.'
    print "but you do not win any prizes!"

print 'Done'

运行代码进行测试,当我们输入123的时候,if语句为true,就会运行缩进的两条print语句,如果这个if语句为false,那么就不会if语句下面的两条缩进的print语句,会继续往下执行下面的没有缩进的代码

 

 

 

if-else语句

if语句用来检验一个条件, 如果 条件为真,我们运行一块语句(称为 if-块 ), 否则 我们处理另外一块语句(称为 else-块 )。 else 从句是可选的。

意思是当if语句成立那么执行if语句下面的代码,如果不成立那么执行else下面的代码,if-else之间不能参杂其他没有缩进的代码(因为没有缩进的代码不受if或者else控制)

#!/usr/bin/python
# Filename: if.py

number = 123
guess = int(raw_input("Enter an integer:"))

if guess == number:
    print 'Congratulations, you guessed it.'
    print "but you do not win any prizes!"
else:
    print 'No, it is a little lower than that'

print 'Done'

 

 

if-elif-else语句

这种格式的语句表示,当if不成立时,判断elif语句是否成立(可以有很多个elif语句)如果很多个elif语句则继续判断下去,知道成立为止,如果最后都不成立,那么执行else的语句

#!/usr/bin/python
# Filename: if.py

number = 123
guess = int(raw_input("Enter an integer:"))

if guess == number:
    print 'Congratulations, you guessed it.'
    print '(but you do not win any prizes!)'
elif guess < number:
    print 'No, it is a little higher than that'
else:
    print 'No, it is a little lower than that'

print 'Done'

运行程序进行测试,结果如下:if成立的话执行if下面的语句,如果不成立判断elif语句是否成立,如果成立执行下面的语句,如果不成立执行else

注意我们使用了缩进层次来告诉Python每个语句分别属于哪一个块。这就是为什么缩进在Python如此重要的原因。我希望你能够坚持“每个缩进层一个制表符”的规则。

注意if语句在结尾处包含一个冒号——我们通过它告诉Python下面跟着一个语句块

elifelse从句都必须在逻辑行结尾处有一个冒号,下面跟着一个相应的语句块(当然还包括正确的缩进)。

 

 

嵌套的if语句

你也可以在一个if块中使用另外一个if语句,等等——这被称为嵌套的if语句。

#!/usr/bin/python
# Filename: if.py

number = 123
guess = int(raw_input("Enter an integer:"))

if guess > number:
    if guess == 322:
        print 'Congratulations, you guessed it.'
        print '(but you do not win any prizes!)'

print 'Done'

if嵌套表示首先第一层的判断需要成立才会继续判断第二条if判断是否成立,如果有很多层,则继续判断,直到没有为止,只要某一层判断不成立,则后面的判断和下面受控制的语句不再执行