武漢黑馬程序員培訓(xùn)機(jī)構(gòu)官網(wǎng)上海自動(dòng)seo
案例
世界杯案例
需求:
世界杯案例,世界杯小組賽的比賽規(guī)則是我們的球隊(duì)與其他三支球隊(duì)進(jìn)行比賽,然后根據(jù)總成績(積分)確定出線資格。小組賽球隊(duì)實(shí)力已知(提示用戶輸入各球隊(duì)實(shí)力),我們通過一個(gè)數(shù)字表示。如果我們贏1局得3分,平一局得1分,輸一局得0分,最終求球隊(duì)總成績。
思路:
轉(zhuǎn)換人話:整體就是四個(gè)球隊(duì),比賽,每個(gè)球隊(duì)的實(shí)力 -----人工輸入,用數(shù)字表示。
然后,根據(jù)每個(gè)球隊(duì)的實(shí)力數(shù),判斷? 大小,? ?兩兩對(duì)比, 大的 +? 3分,相等的? +1分, 小的? +0分。
比方:四個(gè)人身高,身高就是實(shí)力,一個(gè)人 2米,一個(gè)人1.8米,一個(gè)人1.6米。一個(gè)人1.5米。
比高低吧,高的? +3分,同樣高的? +1分,最低的? +0分。(其他的也可以比體重,比錢多少之類的,隨機(jī)發(fā)揮唄,萬變不離其宗)
下面繼續(xù)案例的解析:
首先 輸入每個(gè)球隊(duì)的實(shí)力:----下面數(shù)字? ?20? ?10? ?20? ?30? 隨便寫的哈,不用管。
我們的球隊(duì)實(shí)力:20
1號(hào)球隊(duì)的實(shí)力:10
2號(hào)球隊(duì)的實(shí)力:20
3號(hào)球隊(duì)的實(shí)力:30
然后??開始一個(gè)個(gè)對(duì)比了,根據(jù)對(duì)比結(jié)果,+? 分?jǐn)?shù)(3分? ?1分? ? 0分)
如果:我們 > 1號(hào)球隊(duì),贏了,得3分
我們 == 2號(hào)球隊(duì),平局,得1分
我們 < 3號(hào)球隊(duì),輸了,得0分
則小組賽最終結(jié)果 = 3 + 1 + 0 = 4分
其實(shí)各種案例,需求,都是根據(jù)人類現(xiàn)實(shí)生活中,遇到的各種情況,設(shè)計(jì)出來的,把自己代入其中,思考,行動(dòng),解決,最后就可以完成。
代碼:
# 1、提示用戶輸入我們球隊(duì)與其他三個(gè)球隊(duì)的實(shí)力
a = int(input('請(qǐng)輸入我們球隊(duì)的實(shí)力值:'))
b = int(input('請(qǐng)輸入1號(hào)球隊(duì)的實(shí)力值:'))
c = int(input('請(qǐng)輸入2號(hào)球隊(duì)的實(shí)力值:'))
d = int(input('請(qǐng)輸入3號(hào)球隊(duì)的實(shí)力值:'))
# 2、開始比賽,求每次比賽的成績
avsb = (a > b) * 3 + (a == b)
avsc = (a > c) * 3 + (a == c)
avsd = (a > d) * 3 + (a == d)
# 3、總成績
score = avsb + avsc + avsd
# 4、輸出總成績
print(f'我們球隊(duì)最終的總成績:{score}')
圖示:
注意:
知識(shí)點(diǎn):布爾類型轉(zhuǎn)換為整型,True => int(True) = 1,False => int(False) = 0。這是手工類型轉(zhuǎn)換,在Python中,如果布爾類型參與算術(shù)運(yùn)算,則會(huì)發(fā)生自動(dòng)類型轉(zhuǎn)換。