在Python中,要構造分支結構可以使用if
、elif
和else
關鍵字。
"""
使用者身份驗證
Version: Day03
Author: SQA yang
"""
username = input('請輸入使用者名稱: ')
password = input('請輸入口令: ')
# 使用者名稱是admin且密碼是123456則身份驗證成功否則身份驗證失敗
if username == 'admin' and password == '123456':
print('身份驗證成功!')
else:
print('身份驗證失敗!')
如果要構造出更多的分支,可以使用if...elif...else...
結構或者巢狀的if...else...
結構,可以使用以下:
"""
分段函式求值
3x - 5 (x > 1)
f(x) = x + 2 (-1 <= x <= 1)
5x + 3 (x < -1)
Version: Day03
Author: SQA yang
"""
x = float(input('x = '))
if x > 1:
y = 3 * x - 5
elif x >= -1:
y = x + 2
else:
y = 5 * x + 3
print('f(%.2f) = %.2f' % (x, y))
關於最後一行print('f(%.2f) = %.2f' % (x, y))有不明白的地方,我向GPT求救了。
也請看不懂的朋友們可以參考看看。
根據實際開發的需要,分支結構是可以巢狀的。
需要在if
的內部構造出一個新的分支結構,同理elif
和else
中也可以再構造新的分支,我們稱之為巢狀的分支結構。
以下改寫上述的程式碼為巢狀結構。
"""
分段函式求值
3x - 5 (x > 1)
f(x) = x + 2 (-1 <= x <= 1)
5x + 3 (x < -1)
Version: Day03
Author: SQA yang
"""
x = float(input('x = '))
if x > 1:
y = 3 * x - 5
else:
if x >= -1:
y = x + 2
else:
y = 5 * x + 3
print('f(%.2f) = %.2f' % (x, y))
Python之禪中有提倡程式碼“扁平化”是因為巢狀結構的巢狀層次多了之後會嚴重的影響程式碼的可讀性,所以能使用扁平化的結構時就不要使用巢狀。
"""
百分制成績轉換為等級製成績
Version: Day03
Author: SQA yang
"""
score = float(input('請輸入成績: '))
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'E'
print('對應的等級是:', grade)
以上為Python100天從新手到大師的Day03學習筆記。