文|仟櫻雪
在Python小課-1-2-3節(jié)中衔沼,我們已經(jīng)學(xué)習(xí)了基礎(chǔ)模塊--數(shù)據(jù)--數(shù)據(jù)類型(整數(shù)、字符串衙传、浮點(diǎn)數(shù)),以及基礎(chǔ)模塊--變量厕九,基礎(chǔ)模塊--函數(shù)(input函數(shù)蓖捶、print函數(shù),type函數(shù)扁远,len函數(shù)俊鱼,str函數(shù),int函數(shù)畅买,flost函數(shù))并闲。
條件判斷,就是——“讓計(jì)算機(jī)在合適的情況下做合適的事皮获。
計(jì)算機(jī)是一個(gè)超級(jí)聽話的仆人焙蚓,堅(jiān)決服從你的每一行指令∪鞅Γ可它不會(huì)主動(dòng)提出要幫你做什么事情购公,除非你把規(guī)則都制定好
Python小課--條件判斷的學(xué)習(xí),主要是以女兒國(guó)國(guó)王的煩惱作為案例介紹雁歌。
1宏浩、煩惱1::如果今晚下雨,那就說明女王和唐三藏合適靠瞎,可以在一起比庄。
在Python中求妹,實(shí)現(xiàn):
weather = input('請(qǐng)回答:今晚下雨or沒下雨')
if weather == '下雨':
print('女王和唐僧可以在一起。')
運(yùn)行結(jié)果:說明:輸入了下雨的答案之后佳窑,會(huì)出現(xiàn)如上結(jié)果制恍,如果輸入了“不下雨”,那程序就什么都不會(huì)執(zhí)行神凑。因?yàn)檫@不滿足下一行代碼的要求净神!
==,該符號(hào)表示【左右兩邊的內(nèi)容相等】溉委;
第1行代碼:用input() 函數(shù)請(qǐng)用戶輸入今晚下雨or沒下雨鹃唯,并將結(jié)果賦值給weather(英文,天氣)瓣喊。
第2行代碼:開始使用if語(yǔ)句坡慌,如果變量weather等于下雨。
第3行代碼:那就打印--女王和唐僧可以在一起藻三。這是屬于if內(nèi)部的語(yǔ)句洪橘,要縮進(jìn)四個(gè)空格。
if語(yǔ)句的邏輯語(yǔ)法:
if ...(條件):
...(做點(diǎn)兒什么)
...(做點(diǎn)兒什么)
...(if語(yǔ)句的外部命令)
(1)if 后面跟的是一個(gè)條件趴酣。當(dāng)條件為真時(shí)梨树,就執(zhí)行內(nèi)部縮進(jìn)的命令(做點(diǎn)兒什么),數(shù)量不限岖寞;如果條件為假,不管柜蜈,跳過if仗谆,去執(zhí)行if語(yǔ)句的外部命令。
(2)注意了哈淑履!if 的條件后面有一個(gè)英文的冒號(hào)【:】隶垮,很容易被漏掉;(做點(diǎn)兒什么)都屬于if內(nèi)部的命令秘噪,所以要縮進(jìn)4個(gè)空格狸吞。
(3)當(dāng)if后面的條件為假時(shí),不會(huì)一行一行向下執(zhí)行了指煎,而是跳過if的內(nèi)部代碼蹋偏,去執(zhí)行if語(yǔ)句的外部代碼了。
2至壤、煩惱2:今晚有月亮嗎威始?如果有,那就打酉窠帧:女王和唐僧可以在一起黎棠。
在Python中晋渺,實(shí)現(xiàn):
weather = input('請(qǐng)回答:今晚有月亮or沒有月亮?')
if weather == '有月亮':
print('我和唐僧可以在一起脓斩。')
運(yùn)行結(jié)果:
請(qǐng)回答:今晚有月亮or沒有月亮木西?有月亮
我和唐僧可以在一起。
說明:輸入了有月亮的答案之后随静,會(huì)出現(xiàn)如上結(jié)果户魏,如果輸入了“沒有月亮”,那程序就什么都不會(huì)執(zhí)行挪挤。
3叼丑、煩惱3:如果唐僧接受了表白,很好扛门,馬上舉行婚禮鸠信,全國(guó)放假;如果唐僧沒有答應(yīng)的話论寨,把唐僧軟禁起來星立,從長(zhǎng)計(jì)議,畢竟唐僧所處的行政區(qū)域正是女王管轄的領(lǐng)土葬凳,大唐的皇帝也管不到這么遠(yuǎn)绰垂。
在Python中,實(shí)現(xiàn):
answer = input('唐僧接受了表白嗎火焰?請(qǐng)回答有or沒有劲装?')
if answer == '有':
print('很好,馬上舉行婚禮昌简,全國(guó)放假')
else:
print('把唐僧軟禁起來占业,從長(zhǎng)計(jì)議')
運(yùn)行結(jié)果:
唐僧接受了表白嗎?請(qǐng)回答有or沒有纯赎?沒有
把唐僧軟禁起來谦疾,從長(zhǎng)計(jì)議
說明:輸入了"沒有"之后,會(huì)出現(xiàn)如上結(jié)果犬金,如果輸入了“有”念恍,則輸出“很好,馬上舉行婚禮晚顷,全國(guó)放假”峰伙。
此處多了一個(gè)【else:】這個(gè)單詞的意思是——否則、其他音同,還有兩個(gè)冒號(hào)词爬。
if...else...的邏輯語(yǔ)法:
if...(條件):
...(做點(diǎn)兒什么)
...(做點(diǎn)兒什么)
else:
...(干點(diǎn)兒別的)
...(干點(diǎn)兒別的)
(1)if 后面跟的是一個(gè)條件,當(dāng)條件為真時(shí)权均,執(zhí)行 if 下面的(做點(diǎn)兒什么)命令顿膨,當(dāng)條件為假時(shí)锅锨,跳到else: ,然后開始執(zhí)行else: 下面的命令恋沃。
(2)if 下面的代碼要縮進(jìn)四個(gè)空格必搞,代表的是if內(nèi)部的功能,所以要縮進(jìn)囊咏。else下面的代碼同樣要縮進(jìn)四個(gè)空格恕洲,代表的是else內(nèi)部的功能。這都是為了方便我們看代碼梅割。
請(qǐng)用 if...else... 完成這樣一個(gè)程序:
0,請(qǐng)用戶輸入一個(gè)整數(shù)底燎;
1刃榨,然后如果這個(gè)整數(shù)大于10,就打印(整數(shù)-20)的結(jié)果双仍;
2枢希,否則,就打印(整數(shù)+20)的結(jié)果
Python操作:
a = int(input('請(qǐng)輸入一個(gè)整數(shù):'))
if a > 10:
print(a-20)
else:
print(a+20)
#第1行代碼:使用int()函數(shù)是為了讓字符串轉(zhuǎn)換為整數(shù)朱沃,這樣才能進(jìn)行a-20和a+20的計(jì)算苞轿。
#第2、3行代碼:如果這個(gè)整數(shù)大于10为流,就打印(a-20)的結(jié)果呕屎;否則,就跳到第四行代碼敬察。
#第4、5行代碼:當(dāng)這個(gè)整數(shù)不滿足大于10的條件時(shí)尔当,打印(a+20)的結(jié)果莲祸。
4、煩惱4:女王跟唐僧表白心跡之后椭迎,根據(jù)唐僧的反應(yīng)情況锐帜,出具三種措施:
唐僧,明確接受畜号,則成婚缴阎;明確拒絕,則軟禁简软;其他反應(yīng)蛮拔,容后再議述暂。
在Python中,實(shí)現(xiàn):
a = input('''
唐僧的反應(yīng)是什么建炫?
1.明確接受
2.明確拒絕
3.其他反應(yīng)
請(qǐng)輸入數(shù)字>
''')
if a == '1':
print('成婚')
elif a == '2':
print('軟禁')
else:
print('容后再議')
運(yùn)行結(jié)果:
唐僧的反應(yīng)是什么畦韭?
1.明確接受
2.明確拒絕
3.其他反應(yīng)
請(qǐng)輸入數(shù)字>
3
容后再議
說明:輸入了3之后,會(huì)出現(xiàn)如上結(jié)果肛跌,如果輸入了“2”艺配,則輸出“軟禁”’,輸入1衍慎,則輸出“成婚”转唉。
又多了一個(gè)【elif】,【elif】其實(shí)是else if 的縮寫稳捆,代表否則如果赠法。
第1-7行代碼,都是在獲取數(shù)據(jù)眷柔,即唐僧的選擇到底是哪個(gè)期虾。三引號(hào)可以幫助字符串實(shí)現(xiàn)換行。
第8驯嘱、9行代碼:如果變量 a 和 '1' 相等习柠,即唐僧明確接受,那么就顯示--成婚丈钙。
第10剪芥、11行代碼:如果變量 a 和 '2' 相等,即唐僧明確拒絕剃幌,那么就顯示--軟禁聋涨。
第12、13行代碼:如果上面兩種都不是负乡,即唐僧有其他反應(yīng)牍白,那么就顯示--容后再議。
這里有3種情況抖棘,所以使用了一次elif茂腥,如果有四種情況,可以使用兩次切省,這視代碼的實(shí)際情況而定最岗。
elif的使用邏輯:
if...(條件1):
...(做點(diǎn)兒什么)
elif...(條件2):
...(做點(diǎn)兒其他的)
elif...(條件3):
...(做點(diǎn)兒其他的)
else(其他):
...(干點(diǎn)兒別的)
(1)if后面跟的是一個(gè)條件,當(dāng)此條件為真時(shí)朝捆,執(zhí)行if下面的(做點(diǎn)兒什么)命令般渡,然后結(jié)束條件判斷;當(dāng)條件為假時(shí),跳到elif驯用。
(2)elif后面跟的是另一個(gè)條件脸秽,當(dāng)此條件為真時(shí),執(zhí)行elif下面(做點(diǎn)兒其他的)命令晨汹,然后結(jié)束條件判斷豹储;當(dāng)此條件為假時(shí),跳到第二個(gè)elif:
(3)elif后面跟的又是一個(gè)條件淘这,當(dāng)此條件為真時(shí)剥扣,執(zhí)行elif下面(做點(diǎn)兒其他的)命令,然后結(jié)束條件判斷铝穷;當(dāng)此條件為假時(shí)钠怯,跳到else那里,去執(zhí)行else下的命令曙聂。
******************警示:if的條件后面有冒號(hào)晦炊,elif的條件后面有冒號(hào),else后面也有冒號(hào)宁脊。同樣的断国,if內(nèi)部語(yǔ)句、elif內(nèi)部語(yǔ)句榆苞,和else內(nèi)部語(yǔ)句都是要縮進(jìn)四個(gè)空格*************************************************
練習(xí)題1:
熊貓博物館的門票有三種稳衬,當(dāng)游客的年齡小于 6 歲時(shí),收5元坐漏;當(dāng)游客的年齡大于等于6歲薄疚,而小于60歲時(shí),收20元赊琳;當(dāng)游客的年齡大于等于60歲時(shí)街夭,不收費(fèi)。請(qǐng)你寫出一個(gè)程序躏筏,當(dāng)游客輸入自己的年齡后板丽,可以打印出這位游客該收多少錢的門票。
Python實(shí)現(xiàn):
a = int(input('請(qǐng)輸入你的年齡:'))
if a < 6:
print('收5元')
elif a < 60:
print('收20元')
else:
print('不收費(fèi)')
說明:不同年齡段收不同的門票趁尼,其實(shí)是并列的三種情況檐什,所以是比較適合使用if...elif...else的。
第1行代碼:是為了獲取游客的年齡信息弱卡,并把字符串的數(shù)據(jù)類型轉(zhuǎn)換為整數(shù)。
第2住册、3行代碼:小于6歲的游客婶博,屬于游客中的第一區(qū)間,收費(fèi)5元荧飞。如果是大于等于6歲的游客凡人,跳到elif名党。
第4、5行代碼:在大于等于6歲的游客中挠轴,如果小于60歲传睹,那么屬于第二區(qū)間,收費(fèi)20元岸晦。在大于等于6歲的游客中欧啤,如果不滿足elif后面的條件,即大于等于60歲启上,跳到else邢隧。
第6、7行代碼:大于等于60歲的冈在,屬于游客中的第三區(qū)間倒慧,不收費(fèi)。
5包券、課后練習(xí)
(1)【背景】
最近纫谅,派大星想要減肥,他決定控制自己的飲食溅固,少吃一點(diǎn)蟹黃堡付秕。
海綿寶寶為了幫助好朋友派大星,和派大星一起制定了一個(gè)飲食游戲发魄。
游戲規(guī)則如下:
如果派大星一天吃超過40個(gè)蟹黃堡盹牧,就要給海綿寶寶100塊;
如果派大星一天吃小于等于40個(gè)的蟹黃堡励幼,海綿寶寶就給派大星100塊汰寓。
【題目】
請(qǐng)你寫出一段代碼:
當(dāng)輸入派大星一天吃的蟹黃堡數(shù)量時(shí),可以打印出這天該派大星給海綿寶寶錢苹粟,還是海綿寶寶給派大星錢有滑。
Python操作:
num=int(input('請(qǐng)問:您一天吃的蟹黃堡的數(shù)量:'))
if num >40:
print('給海綿寶寶100元')
else:
print('海綿寶寶需給您100元')
(2)【背景】
我知道,在許多時(shí)候嵌削,戀人是由朋友發(fā)展而成的毛好。而這個(gè)過程,可以用代碼來做演示苛秕。
不信肌访?聽我講。
首先判斷:兩人的關(guān)系是不是達(dá)到了【朋友之上艇劫,戀人未滿】吼驶?
如果不是,那么輸出:進(jìn)度條還不夠,再等等蟹演。程序終結(jié)风钻。
如果是,那么再判斷:你是不是想和對(duì)方有進(jìn)一步的發(fā)展酒请?
如果不是骡技,那么輸出:還是做朋友吧。程序終結(jié)羞反。
如果是布朦,那么再判斷:對(duì)方是不是想有進(jìn)一步的發(fā)展?
如果不是苟弛,那么輸出:恭喜獲得“好人卡”喝滞。
如果是,那么輸出:恭喜你們膏秫,有情人終成眷屬右遭!
Python實(shí)現(xiàn):
#在許多時(shí)候,戀人是由朋友發(fā)展而成的缤削,下面讓我們來做個(gè)戀愛告白測(cè)試:
num1 = input('請(qǐng)問:你們的關(guān)系目前是進(jìn)入曖昧階段了嗎窘哈?請(qǐng)回答:是or不是 ')
if num1 == '不是':
print('革命尚未成功,同志仍需努力巴じ摇滚婉!')
elif num1 == '是':
num2 = input('感情剛好,你希望你們的關(guān)系更進(jìn)一步嗎帅刀?請(qǐng)回答:是or不是 ')
if num2 == '不是':
print('那就點(diǎn)到即止吧让腹,朋友一生一起走~')
elif num2 == '是':
num3 = input('那TA呢,想再進(jìn)一步嗎扣溺?請(qǐng)回答:想or不想骇窍? ')
if num3 == '不想':
print('恭喜你,獲得千年單身卡锥余,好人一生平安腹纳!')
else:
print('恭喜!有情人終成眷屬驱犹,命中注定在一起嘲恍!')
(3)BMI指數(shù)是一個(gè)國(guó)際上常用的衡量人體胖瘦程度,以及是否健康的指數(shù)雄驹。
它的計(jì)算方式如下:
BMI = 體重 ÷(身高×身高)
比如一個(gè)體重50kg佃牛,身高160cm的人,BMI = 50 ÷(1.6*1.6)=19.5
weight = float(input('請(qǐng)輸入您的體重(單位:kg): '))
high = float(input('請(qǐng)輸入您的身高(單位:cm): '))
BMI = weight / ((high / 100) * (high / 100))
if BMI < 18.5:
print('過輕')
elif BMI < 24.0:
print('正常')
elif BMI < 28:
print('過重')
else:
print('肥胖')
小結(jié):
1医舆、if的條件后面有冒號(hào)吁脱,elif的條件后面有冒號(hào)桑涎,else后面也有冒號(hào);
2兼贡、if內(nèi)部語(yǔ)句、elif內(nèi)部語(yǔ)句娃胆,和else內(nèi)部語(yǔ)句都是要縮進(jìn)四個(gè)空格遍希;
3、括號(hào)里烦、冒號(hào)凿蒜、單引號(hào)切記是英文狀態(tài)下的輸入;
4胁黑、相關(guān)數(shù)據(jù)類型的轉(zhuǎn)換嵌套設(shè)置废封。
(注:2018.10.14,Python編程,撿破爛兒的笨小孩學(xué)習(xí)小記丧蘸,有用就給個(gè)小心心喲漂洋,后續(xù)持續(xù)更新ing)