官术网_书友最值得收藏!

3.4 if語句和條件

現在我想介紹一個編程中非常有用的工具——if條件語句。

if語句被廣泛用于檢驗一個語句的結果是否為真。如果檢驗結果為真,那么一些對應檢驗條件的指令便會被執行。我會用一些簡單的代碼向你展示這一點,比如如何辨別一個數字是正的、負的還是等于零。代碼不長,所以我就直接在下面全都展示出來:

在第一行代碼中,我們聲明了一個新的變量a并且將其賦值為5。這就是我們即將要進行值的檢驗的變量。在下一行代碼中,我們通過if條件語句檢驗了這一變量是否比0大。如果a比0大,那么后面縮進的代碼段落中的指令就會被執行,顯示“a is greater than 0”(a比0大)。

如果a不符合第一個條件,也就是a比0小或者等于0,程序就會進入以elif(else if的簡寫)為標志的下一個條件。這一語句會檢查a是否等于0。如果是,就會執行縮進行的指令,顯示“a is equal to 0”(a等于0)。

最后的條件是通過else引入的。else條件中包含的指令會在其他條件全部不符時執行。本例中,其他兩個條件不符意味著a<0,因此會顯示“a is lower than 0”(a比0小)。

很容易就能預測本例中代碼的返回值,即第一個指令print('a is greater than 0')的結果。事實上,一旦你運行這一代碼,就會得到:

簡而言之,if被用來引入檢驗語句,并且它是第一個被檢驗的條件,elif被用來檢驗其他必須檢驗的條件,而else在之前的檢驗全都失敗時才會被觸發。

還有一點非常重要,那就是一旦一個條件為真,其他條件便不會被檢驗。所以,本例中,一旦進入了第一個條件并且得到它為真,便不再檢驗其他語句。如果你想要檢驗其他條件,那么你需要將elif和else語句替換為一個新的if語句。新的if總是會檢查和它處于同一行的新條件;因此,if條件語句中的條件總是會得到檢驗。

練習

構建一個用于檢查數字是否能被3整除的條件語句。

提示:你可以使用一個叫作模(modulo)的數學表達式。進行模運算時,返回的是兩個數字除法運算中的余數部分。在Python中,模用%表示。比如:

5%3=2

71%5=1

本練習的答案可以在GitHub頁面的Chapter 03/If Statements/homework.py文件中找到。

主站蜘蛛池模板: 来宾市| 台湾省| 信阳市| 桦川县| 陵川县| 拜城县| 阿克苏市| 景洪市| 鹤山市| 龙门县| 吉水县| 榕江县| 襄城县| 广德县| 广南县| 思南县| 炉霍县| 大冶市| 新民市| 邵阳市| 元谋县| 绥阳县| 巴东县| 响水县| 和林格尔县| 同江市| 体育| 南宫市| 彰化县| 扶风县| 临武县| 玉林市| 广平县| 惠来县| 云龙县| 明星| 湘西| 益阳市| 吉林市| 普兰县| 南丹县|