people = 20 cats = 30 dogs = 15 if people < cats: print "Too many cats! The world is doomed!" if people > cats: print "Not many cats! The world is saved!" if people < dogs: print "The world is drooled on!" if people > dogs: print "The world is dry!" dogs += 5 if people >= dogs: print "People are greater than or equal to dogs." if people <= dogs: print "People are less than or equal to dogs." if people == dogs: print "People are dogs."
運(yùn)行結(jié)果
root@he-desktop:~/mystuff# python ex29.py
Too many cats! The world is doomed! The world is dry! People are greater than or equal to dogs. People are less than or equal to dogs. People are dogs.
加分練習(xí)
通過(guò)上面的練習(xí),我們自己猜測(cè)一下if語(yǔ)句的作用,用自己的話回答下面的問(wèn)題。
1. 你認(rèn)為if對(duì)它下面的代碼做了什么?
判斷為True就執(zhí)行它下面的代碼,否則不執(zhí)行。
2. 為什么if下面的代碼要縮進(jìn)4個(gè)空格?
為了表示這些代碼屬于if判斷下包括的代碼。
3. 如果不縮進(jìn)會(huì)發(fā)生什么?
會(huì)提示一個(gè)縮進(jìn)錯(cuò)誤。
4. 你可以從第27節(jié)中拿一些布爾表達(dá)式來(lái)做if判斷嗎?
5. 改變people,dogs,cats變量的值,看看會(huì)發(fā)生什么?
答案:
1. if語(yǔ)句下面的代碼是if的一個(gè)分支。就像書里的一個(gè)章節(jié),你選擇了這章就會(huì)跳到這里閱讀。這個(gè)if語(yǔ)句就像是說(shuō):“如果布爾判斷為True,就執(zhí)行下面的代碼,否則跳過(guò)這些代碼”。
2. 用冒號(hào)結(jié)束一個(gè)語(yǔ)句就是要告訴python,我要開始一個(gè)新的代碼段了。縮進(jìn)4個(gè)空格就是說(shuō),這些代碼是包含在這個(gè)代碼段中的,和函數(shù)的使用一樣。
3. 不縮進(jìn)會(huì)報(bào)錯(cuò),python規(guī)定冒號(hào)后面語(yǔ)句必須有縮進(jìn)。
4. 可以,而且可以是復(fù)雜的語(yǔ)句。
5. 修改變量的值后,判斷語(yǔ)句就會(huì)相應(yīng)的變True或者False,然后輸出不同的語(yǔ)句。
比較我的答案和你自己的答案,確保你能理解代碼塊這個(gè)概念,因?yàn)檫@個(gè)對(duì)于下面的練習(xí)非常重要。
輸入下面的代碼,運(yùn)行它:
people = 30 cars = 40 buses = 15 if cars > people: print "We should take the cars." elif cars < people: print "We should not take the cars." else: print "We can't dicide." if buses > cars: print "That's too many buses." elif buses < cars: print "Maybe we could take the buses." else: print "We still can't decide." if people > buses: print "Alright, let's just take the buses." else: print "Fine, let's stay home then."
運(yùn)行結(jié)果
root@he-desktop:~/mystuff# python ex30.py
We should take the cars. Maybe we could take the buses. Alright, let's just take the buses.
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com