Python學(xué)習(xí)——分支結(jié)構(gòu)

if語(yǔ)句的使用

在Python中撤逢,要構(gòu)造分支結(jié)構(gòu)可以使用if窒朋、elif和else關(guān)鍵字争拐。所謂關(guān)鍵字就是有特殊含義的單詞腋粥,像if和else就是專門用于構(gòu)造分支結(jié)構(gòu)的關(guān)鍵字,很顯然你不能夠使用它作為變量名(事實(shí)上,用作其他的標(biāo)識(shí)符也是不可以)隘冲。下面的例子中演示了如何構(gòu)造一個(gè)分支結(jié)構(gòu)金赦。

"""

用戶身份驗(yàn)證

"""

username = input('請(qǐng)輸入用戶名: ')

password = input('請(qǐng)輸入口令: ')

# 如果希望輸入口令時(shí) 終端中沒有回顯 可以使用getpass模塊的getpass函數(shù)

# import getpass

# password = getpass.getpass('請(qǐng)輸入口令: ')

if username == 'admin' and password == '123456':

? ? print('身份驗(yàn)證成功!')

else:

? ? print('身份驗(yàn)證失敗!')

唯一需要說(shuō)明的是和C/C++、Java等語(yǔ)言不同对嚼,Python中沒有用花括號(hào)來(lái)構(gòu)造代碼塊而是使用了縮進(jìn)的方式來(lái)設(shè)置代碼的層次結(jié)構(gòu)夹抗,如果if條件成立的情況下需要執(zhí)行多條語(yǔ)句,只要保持多條語(yǔ)句具有相同的縮進(jìn)就可以了纵竖,換句話說(shuō)連續(xù)的代碼如果又保持了相同的縮進(jìn)那么它們屬于同一個(gè)代碼塊漠烧,相當(dāng)于是一個(gè)執(zhí)行的整體。

當(dāng)然如果要構(gòu)造出更多的分支靡砌,可以使用if…elif…else…結(jié)構(gòu)已脓,例如下面的分段函數(shù)求值。

"""

分段函數(shù)求值

? ? ? ? 3x - 5? (x > 1)

f(x) =? x + 2? (-1 <= x <= 1)

? ? ? ? 5x + 3? (x < -1)

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(%.2f) = %.2f' % (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),也就是說(shuō)上面的代碼也可以寫成下面的樣子曲聂。

"""

分段函數(shù)求值

3x - 5 (x > 1)

f(x) = x + 2 (-1 <= x <= 1)

5x + 3 (x < -1)

"""

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))

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



"""

2019.7.11

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

version:0.1

auther:碼奮

"""

socre=float(input("請(qǐng)輸入分?jǐn)?shù):"))

if socre>=90:

? ? grade='A'

elif socre>=80 and socre<90:

? ? grade='B'

elif socre>=70 and socre<80:

? ? grade='C'

elif socre>=60 and socre<70:

? ? grade='D'

else :

? ? grade='E'

print('對(duì)應(yīng)的等級(jí)是:',grade)


"""

2019.7.11

day 03 個(gè)人所得稅計(jì)算器

version: 0.1

auther:碼奮

"""

salary = float(input('本月收入: '))

insurance = float(input('五險(xiǎn)一金: '))

diff = salary - insurance - 3500

if diff <= 0:

? ? rate = 0

? ? deduction = 0

elif diff < 1500:

? ? rate = 0.03

? ? deduction = 0

elif diff < 4500:

? ? rate = 0.1

? ? deduction = 105

elif diff < 9000:

? ? rate = 0.2

? ? deduction = 555

elif diff < 35000:

? ? rate = 0.25

? ? deduction = 1005

elif diff < 55000:

? ? rate = 0.3

? ? deduction = 2755

elif diff < 80000:

? ? rate = 0.35

? ? deduction = 5505

else:

? ? rate = 0.45

? ? deduction = 13505

tax = abs(diff * rate - deduction)

print('個(gè)人所得稅: ¥%.2f元' % tax)

print('實(shí)際到手收入: ¥%.2f元' % (diff + 3500 - tax))


"""

2019.7.11

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

version:0.1

auther:碼奮

"""

import math

a=float(input("a="))

b=float(input("b="))

c=float(input("c="))

if a>0 and b>0 and c>0 and a+b>c and a+c>b and b+c>a:

? ? print('三角形的周長(zhǎng)=',(a+c+b))

? ? p=(a+b+c)/2

? ? eare=math.sqrt(p*(p-a)*(p-b)*(p-c))

? ? print('三角形面積是',eare)

else:

? ? print('不能構(gòu)成三角形旭咽!')

"""

2019.7.11

英制單位與公制單位互換

version:0.1

auther:碼奮

"""

?

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)輸入有效的單位贞奋!")

"""

2019.7.11

擲色子決定做什么

version:0.1

auther:碼奮

"""

from random import randint

face=randint(1,6)

if face ==1:

? ? print('唱歌')

elif face==2:

? ? print('跳舞')

elif face==3:

? ? print('學(xué)習(xí)')

elif face==4:

? ? print('練字')

elif face==5:

? ? print('去玩')

else :

? ? print('看電視')

---------------------

作者:碼奮

來(lái)源:CSDN

原文:https://cable-ching.blog.csdn.net/article/details/95508288

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接穷绵!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末轿塔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子请垛,更是在濱河造成了極大的恐慌催训,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宗收,死亡現(xiàn)場(chǎng)離奇詭異漫拭,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)混稽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門采驻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)审胚,“玉大人,你說(shuō)我怎么就攤上這事礼旅∩胚叮” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵痘系,是天一觀的道長(zhǎng)菲嘴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)汰翠,這世上最難降的妖魔是什么龄坪? 我笑而不...
    開封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮复唤,結(jié)果婚禮上健田,老公的妹妹穿的比我還像新娘。我一直安慰自己佛纫,他們只是感情好妓局,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著呈宇,像睡著了一般好爬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上攒盈,一...
    開封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天抵拘,我揣著相機(jī)與錄音,去河邊找鬼型豁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尚蝌,可吹牛的內(nèi)容都是我干的迎变。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼飘言,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼衣形!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起姿鸿,我...
    開封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤谆吴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后苛预,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體句狼,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年热某,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腻菇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胳螟。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖筹吐,靈堂內(nèi)的尸體忽然破棺而出糖耸,到底是詐尸還是另有隱情,我是刑警寧澤丘薛,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布嘉竟,位于F島的核電站,受9級(jí)特大地震影響洋侨,放射性物質(zhì)發(fā)生泄漏舍扰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一凰兑、第九天 我趴在偏房一處隱蔽的房頂上張望妥粟。 院中可真熱鬧,春花似錦吏够、人聲如沸勾给。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)播急。三九已至,卻和暖如春售睹,著一層夾襖步出監(jiān)牢的瞬間桩警,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工昌妹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捶枢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓飞崖,卻偏偏與公主長(zhǎng)得像烂叔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子固歪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容