一个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下面跟着一个语句块
elif
和else
从句都必须在逻辑行结尾处有一个冒号,下面跟着一个相应的语句块(当然还包括正确的缩进)。
嵌套的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判断是否成立,如果有很多层,则继续判断,直到没有为止,只要某一层判断不成立,则后面的判断和下面受控制的语句不再执行