溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python分支結(jié)構(gòu)的使用方法是什么

發(fā)布時(shí)間:2021-11-01 16:30:09 來源:億速云 閱讀:206 作者:iii 欄目:編程語言

這篇文章主要講解了“Python分支結(jié)構(gòu)的使用方法是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python分支結(jié)構(gòu)的使用方法是什么”吧!

if語句的使用

在Python中,要構(gòu)造分支結(jié)構(gòu)可以使用if、elif和else關(guān)鍵字。所謂關(guān)鍵字就是有特殊含義的單詞,像if和else就是專門用于構(gòu)造分支結(jié)構(gòu)的關(guān)鍵字,很顯然你不能夠使用它作為變量名。下面的例子中演示了如何構(gòu)造一個(gè)分支結(jié)構(gòu)。

"""
用戶身份驗(yàn)證

Version: 0.1
Author: 駱昊
"""
username = input('請(qǐng)輸入用戶名: ')
password = input('請(qǐng)輸入口令: ')
# 用戶名是admin且密碼是123456則身份驗(yàn)證成功否則身份驗(yàn)證失敗
if username == 'admin' and password == '123456':
   print('身份驗(yàn)證成功!')
else:
   print('身份驗(yàn)證失敗!')

需要說明的是,不同于C++、Java等編程語言,Python中沒有用花括號(hào)來構(gòu)造代碼塊而是使用了縮進(jìn)的方式來表示代碼的層次結(jié)構(gòu),如果if條件成立的情況下需要執(zhí)行多條語句,只要保持多條語句具有相同的縮進(jìn)就可以了。換句話說連續(xù)的代碼如果又保持了相同的縮進(jìn)那么它們屬于同一個(gè)代碼塊,相當(dāng)于是一個(gè)執(zhí)行的整體??s進(jìn)可以使用任意數(shù)量的空格,但通常使用4個(gè)空格,強(qiáng)烈建議大家不要使用制表鍵來縮進(jìn)代碼,如果你已經(jīng)習(xí)慣了這么做,可以設(shè)置代碼編輯工具將1個(gè)制表鍵自動(dòng)變成4個(gè)空格,很多的代碼編輯工具都支持這項(xiàng)功能。

提示:if和else 的最后面有一個(gè):,它是用英文輸入法輸入的冒號(hào);程序中輸入的'、"、=、(、)等特殊字符,都是在英文輸入法狀態(tài)下輸入的。有很多初學(xué)者經(jīng)常不注意這一點(diǎn),結(jié)果運(yùn)行代碼的時(shí)候就會(huì)遇到很多莫名其妙的錯(cuò)誤提示。強(qiáng)烈建議大家在寫代碼的時(shí)候都打開英文輸入法(注意是英文輸入法而不是中文輸入法的英文輸入模式),這樣可以避免很多不必要的麻煩。

當(dāng)然如果要構(gòu)造出更多的分支,可以使用if...elif...else...結(jié)構(gòu)或者嵌套的if...else...結(jié)構(gòu),下面的代碼演示了如何利用多分支結(jié)構(gòu)實(shí)現(xiàn)分段函數(shù)求值。

Python分支結(jié)構(gòu)的使用方法是什么

"""
分段函數(shù)求值

Version: 0.1
Author: 駱昊
"""
x = float(input('x = '))
if x > 1:
   y = 3 * x - 5
elif x >= -1:
   y = x + 2
else:
   y = 5 * x + 3
print(f'f({x}) = {y}')

當(dāng)然根據(jù)實(shí)際開發(fā)的需要,分支結(jié)構(gòu)是可以嵌套的,例如判斷是否通關(guān)以后還要根據(jù)你獲得的寶物或者道具的數(shù)量對(duì)你的表現(xiàn)給出等級(jí)(比如點(diǎn)亮兩顆或三顆星星),那么我們就需要在if的內(nèi)部構(gòu)造出一個(gè)新的分支結(jié)構(gòu),同理elif和else中也可以再構(gòu)造新的分支,我們稱之為嵌套的分支結(jié)構(gòu),也就是說上面的代碼也可以寫成下面的樣子。

"""
分段函數(shù)求值

Version: 0.1
Author: 駱昊
"""
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'f({x}) = {y}')

說明: 大家可以自己感受和評(píng)判一下這兩種寫法到底是哪一種更好。在Python之禪中有這么一句話:“Flat is better than nested”,之所以提倡代碼“扁平化”是因?yàn)榍短捉Y(jié)構(gòu)的嵌套層次如果很多,會(huì)嚴(yán)重的影響代碼的可讀性,所以能使用扁平化結(jié)構(gòu)時(shí)就不要使用嵌套結(jié)構(gòu)。

一些例子

例子1:英制單位英寸與公制單位厘米互換。

"""
英制單位英寸和公制單位厘米互換

Version: 0.1
Author: 駱昊
"""
value = float(input('請(qǐng)輸入長(zhǎng)度: '))
unit = input('請(qǐng)輸入單位: ')
if unit == 'in' or unit == '英寸':
   print('%f英寸 = %f厘米' % (value, value * 2.54))
elif unit == 'cm' or unit == '厘米':
   print('%f厘米 = %f英寸' % (value, value / 2.54))
else:
   print('請(qǐng)輸入有效的單位')

例子2:百分制成績(jī)轉(zhuǎn)換為等級(jí)制成績(jī)。

要求:如果輸入的成績(jī)?cè)?0分以上(含90分)輸出A;80分-90分(不含90分)輸出B;70分-80分(不含80分)輸出C;60分-70分(不含70分)輸出D;60分以下輸出E。

"""
百分制成績(jī)轉(zhuǎn)換為等級(jí)制成績(jī)

Version: 0.1
Author: 駱昊
"""
score = float(input('請(qǐng)輸入成績(jī): '))
if score >= 90:
   grade = 'A'
elif score >= 80:
   grade = 'B'
elif score >= 70:
   grade = 'C'
elif score >= 60:
   grade = 'D'
else:
   grade = 'E'
print('對(duì)應(yīng)的等級(jí)是:', grade)

例子3:輸入三條邊長(zhǎng),如果能構(gòu)成三角形就計(jì)算周長(zhǎng)和面積。

"""
判斷輸入的邊長(zhǎng)能否構(gòu)成三角形,如果能則計(jì)算出三角形的周長(zhǎng)和面積

Version: 0.1
Author: 駱昊
"""
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
   peri = a + b + c
   print(f'周長(zhǎng): {peri}')
   half = peri / 2
   area = (half * (half - a) * (half - b) * (half - c)) ** 0.5
   print(f'面積: {area}')
else:
   print('不能構(gòu)成三角形')

說明: 上面通過邊長(zhǎng)計(jì)算三角形面積的公式叫做海倫公式。

感謝各位的閱讀,以上就是“Python分支結(jié)構(gòu)的使用方法是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Python分支結(jié)構(gòu)的使用方法是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI