日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础_第2章_Python运算符与if结构

發布時間:2024/3/13 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础_第2章_Python运算符与if结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python基礎_第2章_Python運算符與if結構

文章目錄

  • Python基礎_第2章_Python運算符與if結構
  • Day02之`Python運算符與if結構`
  • 一、昨日回顧
    • 1、回顧昨天的課程內容
    • 2、回顧昨天的作業
  • 二、Python數據類型轉換
    • 1、使用Python實現超市的收銀系統
    • 2、了解Python數據類型的轉換方法
    • 3、總結
  • 三、Python運算符
    • 1、運算案例
    • 2、算術運算符
    • 3、算術運算符案例:求梯形的面積
    • 4、賦值運算符
    • 5、復合賦值運算符
    • 6、比較運算符
    • 7、練習題
    • 8、邏輯運算符(與或非)
    • 9、擴展:短路運算
    • 10、運算符的優先級
  • 四、if選擇判斷結構
    • 1、if選擇判斷結構作用
    • 2、if選擇判斷結構的基本語法
    • 3、if選擇結構案例
    • 4、if...else...結構
    • 5、if...elif...else多條件判斷結構
    • 6、if嵌套結構
  • 五、綜合案例:石頭剪刀布
    • 1、需求分析
    • 2、代碼實現
    • 3、隨機出拳
  • 六、三目運算符
    • 1、什么是三目運算符
    • 2、基本語法
    • 3、三目運算符案例
    • 3、三目運算符案例

Day02之Python運算符與if結構

一、昨日回顧

1、回顧昨天的課程內容

2、回顧昨天的作業

定義變量,c1 = ‘可樂’,c2 = ‘牛奶’,通過Python代碼把c1內容調整為牛奶,c2調整為可樂。

# 1、定義兩個變量 c1 = '可樂' c2 = '牛奶'# 2、使用python將c1和c2的值進行交換(引入第三方變量,如temp) # 第一步:首先把c2杯中的牛奶放入臨時temp杯子中 temp = c2 # 第二步:把c1中值賦值給c2這個變量(相當于把c1中的可樂倒入c2中) c2 = c1 # 第三步:把temp杯子中的牛奶倒入c1種 c1 = tempprint(f'1號杯中:{c1}') print(f'2號杯中:{c2}')

二、Python數據類型轉換

1、使用Python實現超市的收銀系統

Python:

name = input('請輸入您要購買商品名稱:') id = input('請輸入您要購買商品編號:') price = input('請輸入您要購買的商品價格:')print(f'您購買了{name},商品編號為{id},商品價格為{price},歡迎下次光臨!')

以上程序雖然可以按照上圖完成程序的正常輸出,但是遺留了一個非常嚴重的問題:這個價格price變量無法參與數學運算(如買了兩個奧利奧,應該是18.5 * 2),原因在于input()方法返回的所有的結果都是str字符串類型。

怎么解決以上問題呢? 答:使用數據類型轉換

2、了解Python數據類型的轉換方法

函數說明
int(x)將x轉換為一個整數
float(x)將x轉換為一個浮點數
complex(real [,imag ])創建一個復數,real為實部,imag為虛部
str(x)將對象 x 轉換為字符串
repr(x)將對象 x 轉換為表達式字符串
eval(str)用來計算在字符串中的有效Python表達式,并返回一個對象
tuple(s)將序列 s 轉換為一個元組
list(s)將序列 s 轉換為一個列表
chr(x)將一個整數轉換為一個Unicode字符
ord(x)將一個字符轉換為它的ASCII整數值
hex(x)將一個整數轉換為一個十六進制字符串
oct(x)將一個整數轉換為一個八進制字符串
bin(x)將一個整數轉換為一個二進制字符串

案例1:把用戶輸入的幸運數字,轉換為整型

num = input('請輸入您的幸運數字:') print(type(num))# 數據類型轉換,把str字符串類型轉換為int類型 print('-' * 20)num = int(num) print(type(num))

以上代碼還可以簡寫為:

num = int(input('請輸入您的幸運數字:')) print(type(num))

案例2:多種數據類型轉換

# 1、整型轉浮點類型 int => float num1 = 10 print(float(num1)) print(type(float(num1)))print('-' * 20)# 2、浮點類型轉換為整型 float => int,浮點轉整型,其小數點后的數據會丟失!!! num2 = 18.88 print(int(num2))print('-' * 20)# 3、把字符串類型轉換為整型或浮點類型 str1 = '20' str2 = '10.88' print(type(int(str1))) print(type(float(str2)))

案例3:eval()方法的使用,把字符串中的數字轉換為原數據類型

price = input('請輸入您購買商品的價格:') print(eval(price)) print(type(eval(price)))

str1 = ‘10’ 經過eval(str1) 轉換為int類型

str2 = ‘10.88’ 經過eval(str1) 轉換為float類型

3、總結

數據類型轉換方法一共學了4個方法:

int() :轉整型

float() :轉浮點類型

str() :轉字符串類型

eval() :把字符串轉換為原數據類型

記住:① 如果一個字符串 * 數字,代表對這個字符串進行復制操作

? ② 當float浮點類型轉換為int整型時,其小數點后面的數據會丟失,一定要記住這個特性。

? ③ 字符串轉數值類型,字符串中的數據必須是有意義的數值

三、Python運算符

1、運算案例

需求:用戶手工輸入梯形的上底、下底以及高,能直接通過Python打印出梯形的面積為多少。

2、算術運算符

所謂的算數運算符就是我們日常生活中的加減乘除等待。

運算符描述實例
+1 + 1 輸出結果為 2
-1 - 1 輸出結果為 0
*2 * 2 輸出結果為 4
/10 / 2 輸出結果為 5
//整除9 // 4 輸出結果為 2
%取余(取模)9 % 4 輸出結果為 1
**冪指數2 ** 4 輸出結果為 16,即2的4次方,2 * 2 * 2 * 2
()小括號小括號用來提高運算優先級,即 (1 + 2) * 3 輸出結果為 9

案例1:了解一下算術運算符

num1 = 10 num2 = 2# 四則運算 + - * / print(f'加:{num1 + num2}') print(f'減:{num1 - num2}') print(f'乘:{num1 * num2}') print(f'除:{num1 / num2}')

案例2:和其他編程語言不太相同的幾個算術運算符

num1 = 20 num2 = 6 num3 = 5# 1、整除 print(f'整除:{num1 // num2}') # 2、求余數 print(f'余數:{num1 % num2}') # 3、冪指數 print(f'冪指數:{num2 ** 3}') # 4、圓括號 print(f'優先級:{(num1 + num2) * num3}')

3、算術運算符案例:求梯形的面積

知識點:用戶輸入、數據類型轉換以及算術運算符

a = float(input('請輸入上底:')) b = float(input('請輸入下底:')) h = float(input('請輸入高:'))s = (a + b) * h / 2print(f'梯形的面積:{s}')

4、賦值運算符

運算符描述實例
=賦值將=右側的結果賦值給等號左側的變量

案例1:把某個值賦值給某個變量

num = 10

案例2:多個變量同時進行賦值操作

n = 5 f = 10.88 s = 'hello world'

簡寫為:

n, f, s = 5, 10.88, 'hello world' print(n) print(f) print(s)

案例3:多個變量賦予相同的值

a = 10 b = 10

簡寫為:

a = b = 10

5、復合賦值運算符

復合賦值運算符 = 算術運算符 結合 賦值運算符

復合賦值運算符的計算順序 = 先執行算術運算符,執行完畢后,把結果在賦值給左邊的變量。

案例:綜合案例

i = 1 # 相加并賦值,先加1,然后把結果賦值給左邊的變量 i += 1 print(f'更新后,i的值為:{i}')num1 = 9 # 取模并賦值,先求余數,然后在把結果賦值給左邊的變量 num1 %= 2 print(f'更新后,num1的值為:{num1}')num2 = 2 # 冪指數并賦值,先求冪指數,然后把結果賦值給左邊的變量 num2 **= 3 print(f'更新后,num2的值為:{num2}')

6、比較運算符

特別注意:當我們使用比較運算符對兩個變量進行比較時,其返回一個布爾類型的值。

案例:兩個數大小的比較

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

7、練習題

練習題1:提示用戶輸入圓的半徑,根據公式S = πr2求圓的面積

r = float(input('請輸入要計算圓的半徑:')) PI = 3.14 s = PI * r ** 2 print(f'圓的面積為:{s}')

練習題2:賦值運算 => 輸入身高,體重,求BMI = 體重(kg)/身高(m)的平方。

height = float(input('請輸入您的身高(m):')) weight = float(input('請輸入您的體重(kg):'))bmi = weight / height ** 2print(f'您的BMI值為{bmi}')

8、邏輯運算符(與或非)

not就是取反,只有一個表達式not 表達式,如果表達式為True,則not以后就返回False。反之,則返回True。

and :邏輯與,只有當兩邊的表達式全部為真,則最終結果返回為真,否則返回為假。

x :False

y :False

result = x and y

or :邏輯或,只要有一方為真,則整個表達式的返回結果就為真。除非兩邊的表達式都為假,則整個結果返回為假。

result = x or y

講個非誠勿擾的小故事:

① 女孩子要求比較高,要求男孩子必須要有房且有車

表達式1 and 表達式2 當表達式1True且表達式2True時,則整個表達式返回結果為True 當表達式1或表達式2中有一個表達式為假,則整個表達式返回結果為False有房 and 有車 則 牽手成功 有房 and 沒車 則 牽手失敗 沒房 and 有車 則 牽手失敗

② 女孩子要求一般,要求男孩子有房或者有車即可

表達式1 or 表達式2 當表達式1True或表達式2True時,則整個表達式返回結果為True 當表達式1與表達式2都為False時,則整個表達式才會返回False有房 or 有車 則 牽手成功 有房 or 沒車 則 牽手成功 沒房 or 有車 則 牽手成功 沒房 or 沒車 則 牽手失敗

邏輯與、或、非,其最終的返回結果也是一個布爾類型的值,True或False。另外在實際工作中,邏輯運算符也主要和if分支結構相結合。

案例:

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

9、擴展:短路運算

在Python代碼中,邏輯運算符的運算,要遵循短路運算原則。

① 表達式1 and 表達式2,如果表達式1條件為真,則最終的運算結果由右邊的表達式2來決定。如果表達式1條件為假,則最終結果為假。其右邊的表達式2不需要在進行運算。

② 表達式1 or 表達式2,如果表達式1為真,則最終的運算結果由表達式1來決定,為真。如果表達式1為假,則最終結果由表達式2來決定。如果表達式2為真,則最終結果為真,如果表達式2為假,則最終結果為假。

print(3 and 4 and 5) # 5 print(5 and 6 or 7) # 6 4 > 3 and print('hello world') # 輸出hello world

在邏輯運算中,不一定邏輯運算符的兩邊都是純表達式,也可以是數值類型的數據或字符串類型的數據。

Python把0、空字符串和None看成 False,其他數值和非空字符串都看成 True,所以:

① 在計算 a and b 時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。

print(3 and 4) # 4 print(0 and 1) # 0

② 在計算 a or b 時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。 所以Python解釋器在做布爾運算時,只要能提前確定計算結果,它就不會往后算了,直接返回結果。

print(6 or 7) # 6 print(6 and 7 or 8) # 7

10、運算符的優先級

什么是運算符的優先級?其實我們小學就已經接觸過了,就是在一個表達式中,我們先算誰的問題。

先算乘除,后算加減,有括號的先算括號里面的。

個人建議:

① 不要把一個表達式寫得過于復雜,如果一個表達式過于復雜,嘗試把它拆分來書寫

② 不要過于依賴運算符的優先級來控制表達式的執行順序,這樣可讀性太差,應盡量使用( )來控制表達式的執行順序

四、if選擇判斷結構

1、if選擇判斷結構作用

在日常開發中,只要有需要進行條件判斷的語句基本上都是選擇判斷結構。

應用場景:

如果年齡大于等于18歲,則可以正常上網。

如果升級考試成績大于60分,則可以順利升級就業班。

2、if選擇判斷結構的基本語法

Java:

if (條件判斷) {則執行某段代碼... }

但是Python中,不需要使用這么多復雜的符號,直接可以編寫條件判斷及執行某段代碼

Python:

if 條件判斷:則執行某段代碼... print()

案例代碼:

if True:print('條件成立執行的代碼1')print('條件成立執行的代碼2')# 下方的代碼沒有縮進到if語句塊,所以和if條件無關 print('我是無論條件是否成立都要執行的代碼')

3、if選擇結構案例

需求:定義一個變量age = 18,判斷這個變量是否大于等于18歲,如果滿足條件,則可以上網。

案例1:直接定義判斷,進行條件判斷

age = 18 if age >= 18:print('滿足18歲要求,可以正常上網')

案例2:上網吧案例升級版

age = int(input('請輸入您的年齡:')) if age >= 18:print('滿足18歲要求,可以正常上網')

if選擇原理圖:學編程除了會寫代碼還不行,還要回畫圖(流程圖)

4、if…else…結構

基本語法:

if 條件判斷:當條件判斷為True時,則執行這個語句段 else:當條件判斷為False時,則執行這個語句段

案例3:上網吧案例升級升級版,引入else

age = int(input('請輸入您的年齡:')) if age >= 18:print('滿足18歲要求,可以正常上網') else:print('不滿足18歲要求,回家好好學習,天天向上')

if…else…結構原理圖:

5、if…elif…else多條件判斷結構

如果條件1成立,則執行語句段1

如果條件2成立,則執行語句段2

當所有條件都不成立時,則執行else語句段中的內容

if 條件判斷1:如果此條件為True,則執行這個語句段 elif 條件判斷2:如果此條件為True,則執行這個語句段 elif ...:... else:如果以上所有條件判斷都不滿足時,則執行這個語句段

if多重條件判斷原理圖:

案例:

① 中國合法工作年齡為18-60歲,即如果年齡小于18的情況為童工,不合法;

② 如果年齡在18-60歲之間為合法工齡;

③ 大于60歲為法定退休年齡。

# 定義一個變量,接收用戶輸入的年齡 age = int(input('請輸入您的年齡:')) if age < 18:print('你還是一個童工,回去好好學習') elif age >= 18 and age <=60:print('合法工齡,可以正常工作') else:print('您已經達到了退休年齡,回家好好休息')

簡寫形式:

# 定義一個變量,接收用戶輸入的年齡 age = int(input('請輸入您的年齡:')) if age < 18:print('你還是一個童工,回去好好學習') elif 18 <= age <= 60:print('合法工齡,可以正常工作') else:print('您已經達到了退休年齡,回家好好休息')

6、if嵌套結構

基本語法:

if 外層條件判斷:# 如果條件為True,則執行以下語句段if 內層條件判斷:# 如果內層條件為True,則執行以下語句段 else:# 如果條件為False,則執行以下語句段

嵌套結構看起來異常復雜,但是我們在編寫時要遵循一個原則:先編寫外層判斷,所有語句編寫完成后,在編寫內層條件判斷結構。

案例:法律規定,車輛駕駛員的血液酒精含量小于 20mg/100ml 不構成酒駕;酒精含量大于或等于 20mg/100ml 為酒駕;酒精含量大于或等于 80mg/100ml 為醉駕。編寫 Python 程序判斷是否為酒后駕車。

proof = int(input('請輸入駕駛員100ml血液中的酒精含量:')) # 判斷proof酒精含量是否小于20mg if proof < 20:print('駕駛員不構成酒駕') else:# 已經構成酒駕 => 兩種類型(酒駕與醉駕)if proof >= 80:print('駕駛員已構成醉駕')else:print('駕駛員已構成酒駕')

五、綜合案例:石頭剪刀布

1、需求分析

參與游戲的角色有兩個(玩家 與 電腦),玩家手工出拳,電腦隨機出拳,根據石頭剪刀布判斷輸贏。

玩家:player(玩家手工輸入石頭、剪刀、布)

電腦:computer(隨機出拳)

輸贏結果很重要,有三種情況:

① 玩家贏

☆ player:石頭 贏 computer:剪刀

☆ palyer:剪刀 贏 computer:布

☆ player:布 贏 computer:石頭

② 平局

只要player 與 computer出拳相等,就代表平局

③ 電腦贏

如果不滿足以上兩個條件,則電腦獲勝!

未知知識點:如何讓計算機隨機出拳 => 隨機

2、代碼實現

確認:if…elif…else多條件分支結構

# 第一步:提示輸入輸入石頭剪刀布,0-代表石頭,1代表剪刀,2代表布 player = int(input('請輸入您的出拳0-代表石頭,1代表剪刀,2代表布:')) # 第二步:電腦隨機出拳(后續解決) computer = 1 # 第三步:根據用戶以及計算機的出拳判斷輸贏 # 什么情況,玩家會贏 # 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('電腦獲勝')

遺留問題:計算機沒辦法隨機出拳

3、隨機出拳

Python語言非常的強大,強大之處就在于其擁有很多模塊(module),這些模塊中擁有很多別人已經開發好的代碼,我們可以直接導入到我們的程序中即可使用。

① import導入模塊

② 通過模塊.方法()調用相關功能

隨機出拳其實就是隨機從0,1,2中選出一個數字

import random# 調用內部封裝的方法 computer = random.randint(0, 2)

改進猜拳代碼:

import random# 第一步:提示輸入輸入石頭剪刀布,0-代表石頭,1代表剪刀,2代表布 player = int(input('請輸入您的出拳0-代表石頭,1代表剪刀,2代表布:')) # 第二步:電腦隨機出拳(后續解決) computer = random.randint(0, 2)print(computer)# 第三步:根據用戶以及計算機的出拳判斷輸贏 # 什么情況,玩家會贏 # 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('電腦獲勝')

六、三目運算符

1、什么是三目運算符

在Python中三目運算符也叫三元運算符,其主要作用:就是用于簡化if…else…語句。

2、基本語法

if 條件判斷:# 語句段1 else:# 語句段2

轉換為三目運算符:

語句段1 if 條件判斷 else 語句段2

3、三目運算符案例

需求:輸入兩個數值,返回最大值

num1 = 10 num2 = 20if num1 > num2:print(f'最大值為{num1}') else:print(f'最大值為{num2}')

簡化:三目運算符

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(‘電腦獲勝’)

# 六、三目運算符## 1、什么是三目運算符在Python中三目運算符也叫三元運算符,其主要作用:==就是用于簡化if...else...語句。==## 2、基本語法```python if 條件判斷:# 語句段1 else:# 語句段2

轉換為三目運算符:

語句段1 if 條件判斷 else 語句段2

3、三目運算符案例

需求:輸入兩個數值,返回最大值

num1 = 10 num2 = 20if num1 > num2:print(f'最大值為{num1}') else:print(f'最大值為{num2}')

簡化:三目運算符

num1 = 10 num2 = 20max = num1 if num1 > num2 else num2 print(f'最大值為{max}')

總結

以上是生活随笔為你收集整理的Python基础_第2章_Python运算符与if结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。