『Python基礎』第5節:條件控制

if 語句的使用

單分支

if 條件:
    知足條件後要執行的代碼

例如:python

if 2 < 3:
    print(222)
print(333)

每一個條件後面都要使用冒號 :, 表示接下來是知足條件後要執行的語句塊
在Python中沒有 switch - case 語句code

雙分支

if 條件:
    知足條件要執行的代碼
else:
    不知足條件就執行這裏的代碼

例如:遊戲

age = 18
if age >= 18:
    print('恭喜你, 成年了')
else:
    print('小屁孩兒')

縮進
你會發現, 在上面的代碼中, 每一個條件的下一行都縮進了4個空格. 這是python的特點.
C/C++等語言利用花括號來構造代碼塊, 而python使用縮進的方式構造代碼塊.
Python縮進有幾個原則:
頂級代碼必須頂行寫. 即若是一行代碼不依賴任何條件, 則不須要進行縮進
同一級別的代碼, 縮進必須一致
官方建議縮進用4個空格.input

回到 if 中來, 條件控制也能夠有多個分支條件it

if elif elif ...

if 條件:
    知足條件要執行的代碼
elif 條件:
    上面的條件不知足就執行這個代碼
elif 條件:
    上面的條件不知足就執行這個代碼
...

例如:table

num = int(input('請輸入一個數字: '))
if num == 1:
    print('晚上一塊兒吃飯')
elif num == 2:
    print('晚上一塊兒溜達')
elif num == 3:
    print('晚上一塊兒玩遊戲')

if elif elif ... else

if 條件:
    知足條件要執行的代碼
elif 條件:
    上面的條件不知足就執行這個代碼
elif 條件:
    上面的條件不知足就執行這個代碼
else:
    上面全部的條件不知足就執行這個代碼

例如:驗證碼

num = int(input('請輸入一個數字: '))
if num == 1:
    print('晚上一塊兒吃飯')
elif num == 2:
    print('晚上一塊兒代碼')
elif num == 3:
    print('晚上一塊兒溜達')
else:
    print('晚上一塊兒玩遊戲')

下面是 if 中經常使用的操做運算符:class

操做符 描述
< 小於
<= 小於或等於
> 大於
>= 大於或等於
== 等於, 比較兩個值是否相等
!= 不等於

嵌套if

if 條件:
    if 條件:
        if 條件: 
            ...
        else:
            ...

例如:登錄

username = input('請輸入用戶名: ')
password = input('請輸入密碼: ')
code = 'df23'
your_code = input('請輸入驗證碼: ')

if your_code == code:
    if username == 'Conan' and password == '123':
        print('登陸成功')
    else:
        print('帳號或密碼錯誤')
else:
    print('驗證碼錯誤.')

練習

練習1 利用if語句寫出猜大小的遊戲

"""
設定一個理想數字好比: 66, 讓用戶輸入數字, 若是比66大, 則顯示猜的結果大了; 若是比66小, 則顯示猜的結果小了; 只有等於66, 則顯示猜的結果正確.
"""

num = int(input('請輸入一個數字: '))
if num > 66:
    print('結果大了')
elif num < 66:
    print('結果小了')
elif num == 66:
    print('結果正確')

練習2 提示用戶輸入他的年齡, 程序進行判斷.

"""
若是小於10,提示小屁孩; 若是大於10,小於20, 提示青春期叛逆的小屁孩; 若是大於20,小於30.提示開始定性,開始混社會的小屁孩; 若是大於30,小於40提示看老大不小了,趕忙結婚小屁孩; 若是大於40, 小於50.提示家裏有個不聽話的小屁孩; 若是大於50.小於60.提示本身立刻變成不聽話的老屁孩; 若是大於60,小於70.提示活着還不錯的老屁孩; 若是大於70,小於90.提示人生就快結束了的一個老屁孩; 若是大於90以上提示.再現了這個世界。
"""

age = int(input('請輸入年齡: '))
if age < 10:
    print('小屁孩')
elif age < 20:
    print('青春期叛逆的小屁孩')
elif age < 30:
    print('開始定性, 開始混社會的小屁孩')
elif age < 40:
    print('老大不小了, 趕忙結婚小屁孩')
elif age< 50:
    print('家裏有個不聽話的小屁孩')
elif age < 60:
    print('本身立刻變成不聽胡的老屁孩')
elif age < 70:
    print('或者還不錯的老屁孩')
elif age < 90:
    print('人生就快結束了的一個老屁孩')
elif age > 90:
    print('再見了這個世界')

練習3 百分制成績轉等級制

"""
用戶輸入一個分數, 根據分數來判斷用戶考試成績的檔次.
>=90    A
>=80    B
>=70    C
>=60    D
<60    不及格
"""

score = int(input('請輸入你的分數: '))
if score >= 90:
    print('A')
elif score >=80:
    print('B')
elif score >=70:
    print('C')
elif score >=60:
    print('D')
elif score < 60:
    print('不及格')

這裏有個問題, 就是當用戶輸入97的時候, 它打印的結果爲 A, 可是95明明也大於80呀, 爲何不打印呢?
這是由於代碼是從上到下依次判斷, 只要知足一個, 就不會繼續往下走了, 這一點要清楚.float

練習4

"""
提示用戶輸入麻花藤, 判斷用戶輸入的對不對. 若是對, 提示真聰明; 若是不對, 提示輸入有誤
"""

s = input('請輸入麻花藤: ')
if s == '麻花藤':
    print('真聰明')
else:
    print('輸入有誤')

練習5

"""
判斷輸入的邊長可否構成三角形, 若是能夠則計算出三角形的周長.
"""

a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
    print(a + b + c)
else:
    print('a, b, c不能構成三角形')
相關文章
相關標籤/搜索