9-12條件判讀
9、單分支結構 if 語句
一個 if 語句包含有五個要素:
① 關鍵詞"if";
② "條件";
③ 英文冒號":";
④ 縮進;
⑤ 代碼塊
第一個注意點是關鍵詞 if 后有個空格,
第二個注意點是條件后面的冒號必須是英文冒號,
第三個注意點是縮進,
一個縮進是四個空格或一個 Tab 鍵,
代碼塊前一定要加縮進,
第四個注意點是代碼塊,
它的意思是一組代碼內容。
【代碼練習】
【代碼練習】
"如果 Python 技能達到 90 分以上就寫進簡歷,
否則暫不能寫進簡歷中"。
使用 if...else... 語句,【如果…就…;否則就….】.
第一行,input() 獲取終端輸入的值,
由于數據類型是字符串,
需要通過 int() 轉換為整數。
先將 input() 輸入的數據轉換完數據類型,
后再賦給變量 point;
第二行,if 的條件是 "point>= 90",
如果 point 的值大于或等于 90 ,
就會執行 if 語句的代碼塊,
即第 3 行的打印語句;
如果 point 的值不滿足 if 語句的條件,
程序就會選擇 else 語句的代碼塊,
即執行第 5 行的打印語句;
這里 else 語句實現的是
【如果…就…;否則…】中【否則…】的功能。
else 語句在語法上需要
① 關鍵詞"else";
② 英文冒號":";
③ 縮進;
④ 代碼塊。
上方相同縮進的其他條件判斷語句都不符合時,
才會執行 else 語句,
所以 else 語句是不需要寫條件的,
且在一個條件判斷語句內,
需要與有相同縮進的 if 語句連用。
【課堂練習】
1)提示一:先獲取輸入的年齡值,并存在變量 age 里;
2)提示二:接著進行判斷:
如果年齡大于 22,就打印"猜錯了哦",
否則就打印"猜對啦";
如果報錯,可能的原因是:
1)if 語句后要跟條件和"英文冒號:";
2)else 語句后只需跟"英文冒號:"
3)檢查"縮進";
4)輸入括號時要切換至英文輸入法。
10、多分支結構 if...elif...else... 語句
條件判斷語句里除了 if 和 else 語句外,
還有一個 elif 語句,是 else if 的縮寫。
必須與 if 連用,
實現分支判斷【如果… 就…;如果… 就…】;
第 1 行,input() 得到的是一個字符串,
通過 int() 轉換數據類型后,再賦值給變量point;
第 2 行,if 語句的條件是 "point >= 90",
即如果 point 的值大于或等于 90 的時候,
就執行第 3 行的打印語句;
如果輸入的數據不滿足 if 語句的條件,
程序就會跑到第 4 行與 elif 語句的條件進行判斷,
如果 point 的值大于等于 60,
執行第 5 行的打印語句。
elif 語句的語法格式跟 if 語句類似,
只需要將關鍵詞換為 elif。
但有個地方要注意的是,
elif 語句需要與同縮進的 if 語句對齊連用,
不能單獨使用。
- 條件判斷嵌套
如圖所示,
我們要用條件判斷語句來實現這個功能,
第一步需要判斷我們在終端獲取的技能名是什么,
如技能名為 Python 或吉他。
再進一步判斷這項技能的分數是否滿足寫進簡歷的標準。
這種在外層條件滿足的前提下,
再增加額外的判斷的過程,
就是條件判斷嵌套。
如果我們輸入"Python",
再輸入60,程序最后會打印出來什么?
11.1 條件判斷嵌套的執行流程
首先,我們可以把原代碼進行概括,來看下圖:
這里代碼塊①②的四條語句
相對于外層條件判斷語句有同樣的縮進,
所以他們是一個代碼塊。
而這里的代碼塊①②的內容剛好是條件判斷語句,
我們可以先不看代碼塊內的這些條件判斷語句。
先看外層的條件判斷語句。
我們輸入 "Python" 賦給變量 skill ,
再輸入 60 賦給變量 score 后,
程序會在外層的條件判斷語句進行判斷,
剛好滿足 if 語句的條件 skill =='Python',
程序將來到代碼塊 ① 內。
進入代碼塊 ① 內,
我們可以看到是一個 if 語句,
此時它的條件是用 score 與 90 做比較。
而我們上方對 score 賦的值為 60,
不符合 if 語句的條件,
所以程序執行 else 語句下的打印語句,
最終打印出"Python 暫不可以寫入簡歷"。
現在可以理解條件判斷嵌套的執行流程了嘛?
其實不難,只要我們先把代碼塊的內容看做一個整體,
先從外層下手,再一步步往內層走就行了。
11.2 條件判斷嵌套的寫法
條件判斷嵌套該怎么寫呢?
我們還是拿上面的案例來分析,
跟執行流程一樣,
我們依舊先把代碼概括成下面的形式。
條件判斷嵌套的寫法先從外層的條件判斷語句下手,
代碼塊可以先只寫簡單的打印語句。
比如我們先預設外層 if 語句的條件符合時,
打印"不可以寫進簡歷";
elif 語句的條件符合時,打印"可以寫進簡歷"。
這時我們再將代碼塊的邏輯修改成我們想要的邏輯,
如 Python 寫進簡歷,
需要分數達到 90 分以上,否則不能寫進簡歷。
那么我們可以將 skill == 'Python' 條件下的打印語句替換為條件判斷語句。
試著自己完成吉他部分的代碼吧。
12、【實操練習】:條件判斷
1、計算員工年休假天數
小林是閃光科技的一名 HR,
每當有新員工入職,
總會被問到年休假如何計算。
不僅要詢問他們的累計工作年限,
還要查詢《職工帶薪年休假條例》才能知道年休假天數,
有沒有更加便捷的方法呢?
題目要求
請你編寫一段代碼,
新入職員工輸入自己的累計工作年限
(1 年以下填寫 0,1 年及以上取整數) ,
即可得到自己的年休假天數。
《職工帶薪年休假條例》規定:
員工累計工作滿 1 年不滿 10 年的,年休假 5 天;
已滿 10 年不滿 20 年的,年休假 10 天;
已滿 20 年的,年休假 15 天。
此外,員工累計工作不滿 1 年,沒有年休假。
2、判斷高中生體質情況
高中生體測時,身高、體重是必測項目。
根據這兩個數值求得的 BMI 指數,
可以衡量一個人的胖瘦程度。
其中,男生和女生的 BMI 指數有不同的劃分范圍,詳見下圖。
小貼士:
17.3 - 23.9 的范圍可以理解為 17.3 <= BMI < 23.9。
題目要求
請你編寫一段代碼,
輸入學生的性別、身高、體重,
即可得到其體質情況(偏瘦、正常、超重、肥胖)。
給你一點點提示:
1)變量名建議:
性別——gender,
身高——height,
體重——weight,
BMI 指數——bmi;
-
結構
+關注
關注
1文章
117瀏覽量
21568 -
關鍵詞
+關注
關注
0文章
16瀏覽量
9808 -
IF
+關注
關注
1文章
49瀏覽量
26856
發布評論請先 登錄
相關推薦
評論