Python基础_第2章_Python运算符与if结构
Python基礎(chǔ)_第2章_Python運(yùn)算符與if結(jié)構(gòu)
文章目錄
- Python基礎(chǔ)_第2章_Python運(yùn)算符與if結(jié)構(gòu)
- Day02之`Python運(yùn)算符與if結(jié)構(gòu)`
- 一、昨日回顧
- 1、回顧昨天的課程內(nèi)容
- 2、回顧昨天的作業(yè)
- 二、Python數(shù)據(jù)類型轉(zhuǎn)換
- 1、使用Python實(shí)現(xiàn)超市的收銀系統(tǒng)
- 2、了解Python數(shù)據(jù)類型的轉(zhuǎn)換方法
- 3、總結(jié)
- 三、Python運(yùn)算符
- 1、運(yùn)算案例
- 2、算術(shù)運(yùn)算符
- 3、算術(shù)運(yùn)算符案例:求梯形的面積
- 4、賦值運(yùn)算符
- 5、復(fù)合賦值運(yùn)算符
- 6、比較運(yùn)算符
- 7、練習(xí)題
- 8、邏輯運(yùn)算符(與或非)
- 9、擴(kuò)展:短路運(yùn)算
- 10、運(yùn)算符的優(yōu)先級(jí)
- 四、if選擇判斷結(jié)構(gòu)
- 1、if選擇判斷結(jié)構(gòu)作用
- 2、if選擇判斷結(jié)構(gòu)的基本語法
- 3、if選擇結(jié)構(gòu)案例
- 4、if...else...結(jié)構(gòu)
- 5、if...elif...else多條件判斷結(jié)構(gòu)
- 6、if嵌套結(jié)構(gòu)
- 五、綜合案例:石頭剪刀布
- 1、需求分析
- 2、代碼實(shí)現(xiàn)
- 3、隨機(jī)出拳
- 六、三目運(yùn)算符
- 1、什么是三目運(yùn)算符
- 2、基本語法
- 3、三目運(yùn)算符案例
- 3、三目運(yùn)算符案例
Day02之Python運(yùn)算符與if結(jié)構(gòu)
一、昨日回顧
1、回顧昨天的課程內(nèi)容
略
2、回顧昨天的作業(yè)
定義變量,c1 = ‘可樂’,c2 = ‘牛奶’,通過Python代碼把c1內(nèi)容調(diào)整為牛奶,c2調(diào)整為可樂。
# 1、定義兩個(gè)變量 c1 = '可樂' c2 = '牛奶'# 2、使用python將c1和c2的值進(jìn)行交換(引入第三方變量,如temp) # 第一步:首先把c2杯中的牛奶放入臨時(shí)temp杯子中 temp = c2 # 第二步:把c1中值賦值給c2這個(gè)變量(相當(dāng)于把c1中的可樂倒入c2中) c2 = c1 # 第三步:把temp杯子中的牛奶倒入c1種 c1 = tempprint(f'1號(hào)杯中:{c1}') print(f'2號(hào)杯中:{c2}')二、Python數(shù)據(jù)類型轉(zhuǎn)換
1、使用Python實(shí)現(xiàn)超市的收銀系統(tǒng)
Python:
name = input('請(qǐng)輸入您要購買商品名稱:') id = input('請(qǐng)輸入您要購買商品編號(hào):') price = input('請(qǐng)輸入您要購買的商品價(jià)格:')print(f'您購買了{name},商品編號(hào)為{id},商品價(jià)格為{price},歡迎下次光臨!')以上程序雖然可以按照上圖完成程序的正常輸出,但是遺留了一個(gè)非常嚴(yán)重的問題:這個(gè)價(jià)格price變量無法參與數(shù)學(xué)運(yùn)算(如買了兩個(gè)奧利奧,應(yīng)該是18.5 * 2),原因在于input()方法返回的所有的結(jié)果都是str字符串類型。
怎么解決以上問題呢? 答:使用數(shù)據(jù)類型轉(zhuǎn)換
2、了解Python數(shù)據(jù)類型的轉(zhuǎn)換方法
| int(x) | 將x轉(zhuǎn)換為一個(gè)整數(shù) |
| float(x) | 將x轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù) |
| complex(real [,imag ]) | 創(chuàng)建一個(gè)復(fù)數(shù),real為實(shí)部,imag為虛部 |
| str(x) | 將對(duì)象 x 轉(zhuǎn)換為字符串 |
| repr(x) | 將對(duì)象 x 轉(zhuǎn)換為表達(dá)式字符串 |
| eval(str) | 用來計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對(duì)象 |
| tuple(s) | 將序列 s 轉(zhuǎn)換為一個(gè)元組 |
| list(s) | 將序列 s 轉(zhuǎn)換為一個(gè)列表 |
| chr(x) | 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)Unicode字符 |
| ord(x) | 將一個(gè)字符轉(zhuǎn)換為它的ASCII整數(shù)值 |
| hex(x) | 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串 |
| oct(x) | 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串 |
| bin(x) | 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)二進(jìn)制字符串 |
案例1:把用戶輸入的幸運(yùn)數(shù)字,轉(zhuǎn)換為整型
num = input('請(qǐng)輸入您的幸運(yùn)數(shù)字:') print(type(num))# 數(shù)據(jù)類型轉(zhuǎn)換,把str字符串類型轉(zhuǎn)換為int類型 print('-' * 20)num = int(num) print(type(num))以上代碼還可以簡(jiǎn)寫為:
num = int(input('請(qǐng)輸入您的幸運(yùn)數(shù)字:')) print(type(num))案例2:多種數(shù)據(jù)類型轉(zhuǎn)換
# 1、整型轉(zhuǎn)浮點(diǎn)類型 int => float num1 = 10 print(float(num1)) print(type(float(num1)))print('-' * 20)# 2、浮點(diǎn)類型轉(zhuǎn)換為整型 float => int,浮點(diǎn)轉(zhuǎn)整型,其小數(shù)點(diǎn)后的數(shù)據(jù)會(huì)丟失!!! num2 = 18.88 print(int(num2))print('-' * 20)# 3、把字符串類型轉(zhuǎn)換為整型或浮點(diǎn)類型 str1 = '20' str2 = '10.88' print(type(int(str1))) print(type(float(str2)))案例3:eval()方法的使用,把字符串中的數(shù)字轉(zhuǎn)換為原數(shù)據(jù)類型
price = input('請(qǐng)輸入您購買商品的價(jià)格:') print(eval(price)) print(type(eval(price)))str1 = ‘10’ 經(jīng)過eval(str1) 轉(zhuǎn)換為int類型
str2 = ‘10.88’ 經(jīng)過eval(str1) 轉(zhuǎn)換為float類型
3、總結(jié)
數(shù)據(jù)類型轉(zhuǎn)換方法一共學(xué)了4個(gè)方法:
int() :轉(zhuǎn)整型
float() :轉(zhuǎn)浮點(diǎn)類型
str() :轉(zhuǎn)字符串類型
eval() :把字符串轉(zhuǎn)換為原數(shù)據(jù)類型
記住:① 如果一個(gè)字符串 * 數(shù)字,代表對(duì)這個(gè)字符串進(jìn)行復(fù)制操作
? ② 當(dāng)float浮點(diǎn)類型轉(zhuǎn)換為int整型時(shí),其小數(shù)點(diǎn)后面的數(shù)據(jù)會(huì)丟失,一定要記住這個(gè)特性。
? ③ 字符串轉(zhuǎn)數(shù)值類型,字符串中的數(shù)據(jù)必須是有意義的數(shù)值
三、Python運(yùn)算符
1、運(yùn)算案例
需求:用戶手工輸入梯形的上底、下底以及高,能直接通過Python打印出梯形的面積為多少。
2、算術(shù)運(yùn)算符
所謂的算數(shù)運(yùn)算符就是我們?nèi)粘I钪械募訙p乘除等待。
| + | 加 | 1 + 1 輸出結(jié)果為 2 |
| - | 減 | 1 - 1 輸出結(jié)果為 0 |
| * | 乘 | 2 * 2 輸出結(jié)果為 4 |
| / | 除 | 10 / 2 輸出結(jié)果為 5 |
| // | 整除 | 9 // 4 輸出結(jié)果為 2 |
| % | 取余(取模) | 9 % 4 輸出結(jié)果為 1 |
| ** | 冪指數(shù) | 2 ** 4 輸出結(jié)果為 16,即2的4次方,2 * 2 * 2 * 2 |
| () | 小括號(hào) | 小括號(hào)用來提高運(yùn)算優(yōu)先級(jí),即 (1 + 2) * 3 輸出結(jié)果為 9 |
案例1:了解一下算術(shù)運(yùn)算符
num1 = 10 num2 = 2# 四則運(yùn)算 + - * / print(f'加:{num1 + num2}') print(f'減:{num1 - num2}') print(f'乘:{num1 * num2}') print(f'除:{num1 / num2}')案例2:和其他編程語言不太相同的幾個(gè)算術(shù)運(yùn)算符
num1 = 20 num2 = 6 num3 = 5# 1、整除 print(f'整除:{num1 // num2}') # 2、求余數(shù) print(f'余數(shù):{num1 % num2}') # 3、冪指數(shù) print(f'冪指數(shù):{num2 ** 3}') # 4、圓括號(hào) print(f'優(yōu)先級(jí):{(num1 + num2) * num3}')3、算術(shù)運(yùn)算符案例:求梯形的面積
知識(shí)點(diǎn):用戶輸入、數(shù)據(jù)類型轉(zhuǎn)換以及算術(shù)運(yùn)算符
a = float(input('請(qǐng)輸入上底:')) b = float(input('請(qǐng)輸入下底:')) h = float(input('請(qǐng)輸入高:'))s = (a + b) * h / 2print(f'梯形的面積:{s}')4、賦值運(yùn)算符
| = | 賦值 | 將=右側(cè)的結(jié)果賦值給等號(hào)左側(cè)的變量 |
案例1:把某個(gè)值賦值給某個(gè)變量
num = 10案例2:多個(gè)變量同時(shí)進(jìn)行賦值操作
n = 5 f = 10.88 s = 'hello world'簡(jiǎn)寫為:
n, f, s = 5, 10.88, 'hello world' print(n) print(f) print(s)案例3:多個(gè)變量賦予相同的值
a = 10 b = 10簡(jiǎn)寫為:
a = b = 105、復(fù)合賦值運(yùn)算符
復(fù)合賦值運(yùn)算符 = 算術(shù)運(yùn)算符 結(jié)合 賦值運(yùn)算符
復(fù)合賦值運(yùn)算符的計(jì)算順序 = 先執(zhí)行算術(shù)運(yùn)算符,執(zhí)行完畢后,把結(jié)果在賦值給左邊的變量。
案例:綜合案例
i = 1 # 相加并賦值,先加1,然后把結(jié)果賦值給左邊的變量 i += 1 print(f'更新后,i的值為:{i}')num1 = 9 # 取模并賦值,先求余數(shù),然后在把結(jié)果賦值給左邊的變量 num1 %= 2 print(f'更新后,num1的值為:{num1}')num2 = 2 # 冪指數(shù)并賦值,先求冪指數(shù),然后把結(jié)果賦值給左邊的變量 num2 **= 3 print(f'更新后,num2的值為:{num2}')6、比較運(yùn)算符
特別注意:當(dāng)我們使用比較運(yùn)算符對(duì)兩個(gè)變量進(jìn)行比較時(shí),其返回一個(gè)布爾類型的值。
案例:兩個(gè)數(shù)大小的比較
num1 = 10 num2 = 20print(num1 > num2) # False print(num1 < num2) # True print(num1 >= num2) # False print(num1 <= num2) # True print(num1 == num2) # False print(num1 != num2) # True7、練習(xí)題
練習(xí)題1:提示用戶輸入圓的半徑,根據(jù)公式S = πr2求圓的面積
r = float(input('請(qǐng)輸入要計(jì)算圓的半徑:')) PI = 3.14 s = PI * r ** 2 print(f'圓的面積為:{s}')練習(xí)題2:賦值運(yùn)算 => 輸入身高,體重,求BMI = 體重(kg)/身高(m)的平方。
height = float(input('請(qǐng)輸入您的身高(m):')) weight = float(input('請(qǐng)輸入您的體重(kg):'))bmi = weight / height ** 2print(f'您的BMI值為{bmi}')8、邏輯運(yùn)算符(與或非)
not就是取反,只有一個(gè)表達(dá)式not 表達(dá)式,如果表達(dá)式為True,則not以后就返回False。反之,則返回True。
and :邏輯與,只有當(dāng)兩邊的表達(dá)式全部為真,則最終結(jié)果返回為真,否則返回為假。
x :False
y :False
result = x and y
or :邏輯或,只要有一方為真,則整個(gè)表達(dá)式的返回結(jié)果就為真。除非兩邊的表達(dá)式都為假,則整個(gè)結(jié)果返回為假。
result = x or y
講個(gè)非誠勿擾的小故事:
① 女孩子要求比較高,要求男孩子必須要有房且有車
表達(dá)式1 and 表達(dá)式2 當(dāng)表達(dá)式1為True且表達(dá)式2為True時(shí),則整個(gè)表達(dá)式返回結(jié)果為True 當(dāng)表達(dá)式1或表達(dá)式2中有一個(gè)表達(dá)式為假,則整個(gè)表達(dá)式返回結(jié)果為False有房 and 有車 則 牽手成功 有房 and 沒車 則 牽手失敗 沒房 and 有車 則 牽手失敗② 女孩子要求一般,要求男孩子有房或者有車即可
表達(dá)式1 or 表達(dá)式2 當(dāng)表達(dá)式1為True或表達(dá)式2為True時(shí),則整個(gè)表達(dá)式返回結(jié)果為True 當(dāng)表達(dá)式1與表達(dá)式2都為False時(shí),則整個(gè)表達(dá)式才會(huì)返回False有房 or 有車 則 牽手成功 有房 or 沒車 則 牽手成功 沒房 or 有車 則 牽手成功 沒房 or 沒車 則 牽手失敗邏輯與、或、非,其最終的返回結(jié)果也是一個(gè)布爾類型的值,True或False。另外在實(shí)際工作中,邏輯運(yùn)算符也主要和if分支結(jié)構(gòu)相結(jié)合。
案例:
a = 1 b = 2 c = 3print((a > b) and (b > c)) # False print((a > b) or (b > c)) # False print((a < b) or (b > c)) # True print(not (a > b)) # True9、擴(kuò)展:短路運(yùn)算
在Python代碼中,邏輯運(yùn)算符的運(yùn)算,要遵循短路運(yùn)算原則。
① 表達(dá)式1 and 表達(dá)式2,如果表達(dá)式1條件為真,則最終的運(yùn)算結(jié)果由右邊的表達(dá)式2來決定。如果表達(dá)式1條件為假,則最終結(jié)果為假。其右邊的表達(dá)式2不需要在進(jìn)行運(yùn)算。
② 表達(dá)式1 or 表達(dá)式2,如果表達(dá)式1為真,則最終的運(yùn)算結(jié)果由表達(dá)式1來決定,為真。如果表達(dá)式1為假,則最終結(jié)果由表達(dá)式2來決定。如果表達(dá)式2為真,則最終結(jié)果為真,如果表達(dá)式2為假,則最終結(jié)果為假。
print(3 and 4 and 5) # 5 print(5 and 6 or 7) # 6 4 > 3 and print('hello world') # 輸出hello world在邏輯運(yùn)算中,不一定邏輯運(yùn)算符的兩邊都是純表達(dá)式,也可以是數(shù)值類型的數(shù)據(jù)或字符串類型的數(shù)據(jù)。
Python把0、空字符串和None看成 False,其他數(shù)值和非空字符串都看成 True,所以:
① 在計(jì)算 a and b 時(shí),如果 a 是 False,則根據(jù)與運(yùn)算法則,整個(gè)結(jié)果必定為 False,因此返回 a;如果 a 是 True,則整個(gè)計(jì)算結(jié)果必定取決與 b,因此返回 b。
print(3 and 4) # 4 print(0 and 1) # 0② 在計(jì)算 a or b 時(shí),如果 a 是 True,則根據(jù)或運(yùn)算法則,整個(gè)計(jì)算結(jié)果必定為 True,因此返回 a;如果 a 是 False,則整個(gè)計(jì)算結(jié)果必定取決于 b,因此返回 b。 所以Python解釋器在做布爾運(yùn)算時(shí),只要能提前確定計(jì)算結(jié)果,它就不會(huì)往后算了,直接返回結(jié)果。
print(6 or 7) # 6 print(6 and 7 or 8) # 710、運(yùn)算符的優(yōu)先級(jí)
什么是運(yùn)算符的優(yōu)先級(jí)?其實(shí)我們小學(xué)就已經(jīng)接觸過了,就是在一個(gè)表達(dá)式中,我們先算誰的問題。
先算乘除,后算加減,有括號(hào)的先算括號(hào)里面的。
個(gè)人建議:
① 不要把一個(gè)表達(dá)式寫得過于復(fù)雜,如果一個(gè)表達(dá)式過于復(fù)雜,嘗試把它拆分來書寫
② 不要過于依賴運(yùn)算符的優(yōu)先級(jí)來控制表達(dá)式的執(zhí)行順序,這樣可讀性太差,應(yīng)盡量使用( )來控制表達(dá)式的執(zhí)行順序
四、if選擇判斷結(jié)構(gòu)
1、if選擇判斷結(jié)構(gòu)作用
在日常開發(fā)中,只要有需要進(jìn)行條件判斷的語句基本上都是選擇判斷結(jié)構(gòu)。
應(yīng)用場(chǎng)景:
如果年齡大于等于18歲,則可以正常上網(wǎng)。
如果升級(jí)考試成績(jī)大于60分,則可以順利升級(jí)就業(yè)班。
2、if選擇判斷結(jié)構(gòu)的基本語法
Java:
if (條件判斷) {則執(zhí)行某段代碼... }但是Python中,不需要使用這么多復(fù)雜的符號(hào),直接可以編寫條件判斷及執(zhí)行某段代碼
Python:
if 條件判斷:則執(zhí)行某段代碼... print()案例代碼:
if True:print('條件成立執(zhí)行的代碼1')print('條件成立執(zhí)行的代碼2')# 下方的代碼沒有縮進(jìn)到if語句塊,所以和if條件無關(guān) print('我是無論條件是否成立都要執(zhí)行的代碼')3、if選擇結(jié)構(gòu)案例
需求:定義一個(gè)變量age = 18,判斷這個(gè)變量是否大于等于18歲,如果滿足條件,則可以上網(wǎng)。
案例1:直接定義判斷,進(jìn)行條件判斷
age = 18 if age >= 18:print('滿足18歲要求,可以正常上網(wǎng)')案例2:上網(wǎng)吧案例升級(jí)版
age = int(input('請(qǐng)輸入您的年齡:')) if age >= 18:print('滿足18歲要求,可以正常上網(wǎng)')if選擇原理圖:學(xué)編程除了會(huì)寫代碼還不行,還要回畫圖(流程圖)
4、if…else…結(jié)構(gòu)
基本語法:
if 條件判斷:當(dāng)條件判斷為True時(shí),則執(zhí)行這個(gè)語句段 else:當(dāng)條件判斷為False時(shí),則執(zhí)行這個(gè)語句段案例3:上網(wǎng)吧案例升級(jí)升級(jí)版,引入else
age = int(input('請(qǐng)輸入您的年齡:')) if age >= 18:print('滿足18歲要求,可以正常上網(wǎng)') else:print('不滿足18歲要求,回家好好學(xué)習(xí),天天向上')if…else…結(jié)構(gòu)原理圖:
5、if…elif…else多條件判斷結(jié)構(gòu)
如果條件1成立,則執(zhí)行語句段1
如果條件2成立,則執(zhí)行語句段2
…
當(dāng)所有條件都不成立時(shí),則執(zhí)行else語句段中的內(nèi)容
if 條件判斷1:如果此條件為True,則執(zhí)行這個(gè)語句段 elif 條件判斷2:如果此條件為True,則執(zhí)行這個(gè)語句段 elif ...:... else:如果以上所有條件判斷都不滿足時(shí),則執(zhí)行這個(gè)語句段if多重條件判斷原理圖:
案例:
① 中國(guó)合法工作年齡為18-60歲,即如果年齡小于18的情況為童工,不合法;
② 如果年齡在18-60歲之間為合法工齡;
③ 大于60歲為法定退休年齡。
# 定義一個(gè)變量,接收用戶輸入的年齡 age = int(input('請(qǐng)輸入您的年齡:')) if age < 18:print('你還是一個(gè)童工,回去好好學(xué)習(xí)') elif age >= 18 and age <=60:print('合法工齡,可以正常工作') else:print('您已經(jīng)達(dá)到了退休年齡,回家好好休息')簡(jiǎn)寫形式:
# 定義一個(gè)變量,接收用戶輸入的年齡 age = int(input('請(qǐng)輸入您的年齡:')) if age < 18:print('你還是一個(gè)童工,回去好好學(xué)習(xí)') elif 18 <= age <= 60:print('合法工齡,可以正常工作') else:print('您已經(jīng)達(dá)到了退休年齡,回家好好休息')6、if嵌套結(jié)構(gòu)
基本語法:
if 外層條件判斷:# 如果條件為True,則執(zhí)行以下語句段if 內(nèi)層條件判斷:# 如果內(nèi)層條件為True,則執(zhí)行以下語句段 else:# 如果條件為False,則執(zhí)行以下語句段嵌套結(jié)構(gòu)看起來異常復(fù)雜,但是我們?cè)诰帉憰r(shí)要遵循一個(gè)原則:先編寫外層判斷,所有語句編寫完成后,在編寫內(nèi)層條件判斷結(jié)構(gòu)。
案例:法律規(guī)定,車輛駕駛員的血液酒精含量小于 20mg/100ml 不構(gòu)成酒駕;酒精含量大于或等于 20mg/100ml 為酒駕;酒精含量大于或等于 80mg/100ml 為醉駕。編寫 Python 程序判斷是否為酒后駕車。
proof = int(input('請(qǐng)輸入駕駛員100ml血液中的酒精含量:')) # 判斷proof酒精含量是否小于20mg if proof < 20:print('駕駛員不構(gòu)成酒駕') else:# 已經(jīng)構(gòu)成酒駕 => 兩種類型(酒駕與醉駕)if proof >= 80:print('駕駛員已構(gòu)成醉駕')else:print('駕駛員已構(gòu)成酒駕')五、綜合案例:石頭剪刀布
1、需求分析
參與游戲的角色有兩個(gè)(玩家 與 電腦),玩家手工出拳,電腦隨機(jī)出拳,根據(jù)石頭剪刀布判斷輸贏。
玩家:player(玩家手工輸入石頭、剪刀、布)
電腦:computer(隨機(jī)出拳)
輸贏結(jié)果很重要,有三種情況:
① 玩家贏
☆ player:石頭 贏 computer:剪刀
☆ palyer:剪刀 贏 computer:布
☆ player:布 贏 computer:石頭
② 平局
只要player 與 computer出拳相等,就代表平局
③ 電腦贏
如果不滿足以上兩個(gè)條件,則電腦獲勝!
未知知識(shí)點(diǎn):如何讓計(jì)算機(jī)隨機(jī)出拳 => 隨機(jī)
2、代碼實(shí)現(xiàn)
確認(rèn):if…elif…else多條件分支結(jié)構(gòu)
# 第一步:提示輸入輸入石頭剪刀布,0-代表石頭,1代表剪刀,2代表布 player = int(input('請(qǐng)輸入您的出拳0-代表石頭,1代表剪刀,2代表布:')) # 第二步:電腦隨機(jī)出拳(后續(xù)解決) computer = 1 # 第三步:根據(jù)用戶以及計(jì)算機(jī)的出拳判斷輸贏 # 什么情況,玩家會(huì)贏 # player==0且computer==1 或 palyer==1且computer==2 或 player==2且computer==0 if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player==2 and computer == 0):print('玩家獲勝') elif player == computer:print('平局') else:print('電腦獲勝')遺留問題:計(jì)算機(jī)沒辦法隨機(jī)出拳
3、隨機(jī)出拳
Python語言非常的強(qiáng)大,強(qiáng)大之處就在于其擁有很多模塊(module),這些模塊中擁有很多別人已經(jīng)開發(fā)好的代碼,我們可以直接導(dǎo)入到我們的程序中即可使用。
① import導(dǎo)入模塊
② 通過模塊.方法()調(diào)用相關(guān)功能
隨機(jī)出拳其實(shí)就是隨機(jī)從0,1,2中選出一個(gè)數(shù)字
import random# 調(diào)用內(nèi)部封裝的方法 computer = random.randint(0, 2)改進(jìn)猜拳代碼:
import random# 第一步:提示輸入輸入石頭剪刀布,0-代表石頭,1代表剪刀,2代表布 player = int(input('請(qǐng)輸入您的出拳0-代表石頭,1代表剪刀,2代表布:')) # 第二步:電腦隨機(jī)出拳(后續(xù)解決) computer = random.randint(0, 2)print(computer)# 第三步:根據(jù)用戶以及計(jì)算機(jī)的出拳判斷輸贏 # 什么情況,玩家會(huì)贏 # player==0且computer==1 或 palyer==1且computer==2 或 player==2且computer==0 if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player==2 and computer == 0):print('玩家獲勝') elif player == computer:print('平局') else:print('電腦獲勝')六、三目運(yùn)算符
1、什么是三目運(yùn)算符
在Python中三目運(yùn)算符也叫三元運(yùn)算符,其主要作用:就是用于簡(jiǎn)化if…else…語句。
2、基本語法
if 條件判斷:# 語句段1 else:# 語句段2轉(zhuǎn)換為三目運(yùn)算符:
語句段1 if 條件判斷 else 語句段23、三目運(yùn)算符案例
需求:輸入兩個(gè)數(shù)值,返回最大值
num1 = 10 num2 = 20if num1 > num2:print(f'最大值為{num1}') else:print(f'最大值為{num2}')簡(jiǎn)化:三目運(yùn)算符
num1 = 10 num2 = 20max = num1 if num1 > num2 else num2 print(f'最大值為{max}')贏
player0且computer1 或 palyer1且computer2 或 player2且computer0
if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player==2 and computer == 0):
print(‘玩家獲勝’)
elif player == computer:
print(‘平局’)
else:
print(‘電腦獲勝’)
轉(zhuǎn)換為三目運(yùn)算符:
語句段1 if 條件判斷 else 語句段23、三目運(yùn)算符案例
需求:輸入兩個(gè)數(shù)值,返回最大值
num1 = 10 num2 = 20if num1 > num2:print(f'最大值為{num1}') else:print(f'最大值為{num2}')簡(jiǎn)化:三目運(yùn)算符
num1 = 10 num2 = 20max = num1 if num1 > num2 else num2 print(f'最大值為{max}')總結(jié)
以上是生活随笔為你收集整理的Python基础_第2章_Python运算符与if结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【读书笔记】《写给大家看的设计书》
- 下一篇: 表格比手机屏幕宽时不压缩,可左右滚动,格