day2 運算子與分支結構

2021-10-09 17:53:07 字數 4735 閱讀 8509

數**算符+(加法運算)、-(減法運算)、(乘法運算)、/(除法運算)、

%(取模/取餘)、

//(整除)、*****(冪運算)

+-/和數學中的+、

-*、✖、÷的功能一模一樣。

print(5

+2)# 7

print(5

-2)# 3

print(5

*2)# 10

print(5

/2)# 2.5

%- 取餘、取模(數學中的求餘數)

#  x % y  -  求 x 除以 y 的餘數。

print(10

%3)# 1

​ 應用1:判斷乙個數是否能被另乙個數整除。

#  x % y 的值為0說明 x 能被 y 整除。

num =

6print

(num %3)

# 0

​ 應用2:取整數的低位數。

#  x % 10 - 獲取x的個位數; x % 100 - 獲取x的後兩位數;...以此類推

print

(168%10

)# 8

print

(1738

%100

)# 38

//- 整除(商數取整數)

#  x // y  -  x 除以 y 的商向下取整。

print(5

//2)# 2

print(-

5//2)

# -3

​ 應用:去掉低位數,獲取高位數。

#  x // 10 - 去掉x的最後一位數; x // 100 - 去掉x的最後兩位數;...

print

(23563

//100

)# 235

****** - 冪運算(求次方)

#  x ** y  -  求 x 的 y 次方

print(2

**3)# 8

print(3

**3)# 27

# 如果次方數是 1/n,表示開 n 次方,開方結果均為浮點型。(float)

print(8

**(1/

3))# 2.0

print(27

**(1/

3))# 3.0

比較運算子>(大於)、<(小於)、>=(大於等於)、<=(小於等於)、==(等於)、!=(不等於)

​ 比較運算子中比較的資料必須為同型別(整型和浮點型可相互比較),並且所有比較運算子的運算結果均為布林值。

注意:python中的比較運算子支援連寫的方式表示取值範圍。

print(10

>20)

# false

print(10

<20)

# true

print(10

>=10)

# true

print(10

==10

)# true

print(10

!=10

)# false

邏輯運算子and(邏輯與)、or(邏輯或)、not(邏輯非)

賦值運算子=+=-==、/=、

%=、//=、*=

​ 所有的賦值運算子都是用來給變數賦值的,所以賦值運算子的左邊必須是變數,並且復合的賦值運算子左邊的變數必須是已經賦值過的變數。

普通賦值運算子:=

a =

10

復合的賦值運算子:先將變數的資料取出來,再進行相應的復合賦值符的運算,將運算結果重新賦值回變數。

a +=

3# a = a + 3

a -=

2# a = a - 2

a *=

4# a = a * 4

運算子的優先順序

位運算:&(按位與)、|(按位或)、^(按位異或)、~(按位取反)、>>(右移)、<<(左移)

位運算的運算效率比一般的運算子都要高

應用1:判斷整數的奇偶性 - 數字對1進行按位與運算,如果結果是1就是奇數,結果是0就是偶數

print(4

&1,273&1

,-832&1,

48&1)

# 0 1 0 0

應用2:數字 << n - 快速乘2的n次方

​ 數字 >> n - 快速整除2的n次方

print(4

<<1,

5<<1,

5<<2)

# 8 10 20

print(4

>>1,

5>>1,

-5>>1)

# 2 2 -3

流程控制

順序結構 - 從上往下依次執行每一條語句。(預設)

分支結構 - 根據條件選擇性的執行**。(if語句)

迴圈結構 - 讓**重複執行。(for迴圈、while迴圈)

分支結構

if 單分支結構 - 滿足條件執行某個操作,不滿足就不執行。

語法:

if 條件語句:

**塊

說明:

if - 關鍵字,固定寫法。

條件語句 - 任何有結果的表示式:任何型別的資料、除賦值語句以外的運算表示式、函式呼叫表示式。

冒號 - 固定寫法。(python中冒號後面一般都需要換行後產生縮進來表示**塊)

**塊 - 和if保持乙個縮排(按tab)的一條或多條語句;在滿足條件的時候才會執行的**,不滿足不執行。

執行過程:先判斷條件語句是否為true(如果不是布林值就轉換成布林再判斷),如果是true就執行**塊,否則**塊不執行。

注意:if語句中的**塊至少要有一條語句,在不確定的時候可以先用pass佔位。

age =

28if num >=18:

print

('成年'

)# 成年

if 雙分支結構 - 滿足條件執行某個操作,不滿足就執行另乙個操作。

語法:

if 條件語句:

**塊1(滿足條件要執行的**)

else

: **塊2(不滿足條件要執行的**)

執行過程:先判斷條件語句是否為true,如果是true就執行**塊1,否則執行**塊2。

num =

37if

not num &1:

print

('偶數'

)else

:print

('奇數'

)# 奇數

if多分支結構 - 根據不同的條件執行不同的操作。

語法:

if 條件語句1:

**塊1

elif 條件語句2:

**塊2

elif 條件語句3:

**塊3..

.else

: **塊n

執行過程: 先判斷條件語句1是為true,如果是直接執行**塊1,然後整個if結構直接結束;

如果不為true,就判斷條件語句2是否為true,如果是就執行**塊2,然後整個if結構結束;

如果不為true,就判斷條件語句3是否為true,如果是就執行**塊3,然後整個if結構結束;

…以此類推,如果前面的條件語句都不滿足就執行else後面的**塊。

grade =

3.2if grade >4:

print

('獲得一等獎學金。'

)elif

3.5<= grade:

print

('獲得二等獎學金。'

)elif

3<= grade:

print

('獲得三等獎學金。'

)elif

2.5<= grade:

print

('獲得四等獎學金。'

)else

:print

('未獲得獎學金。'

)# 獲得三等獎學金

day2 運算子和分支結構

加 減 乘 除 整除 取餘 取模 冪運算 和數學中的 功能和用法一模一樣 注意 除法運算 的運算結果是浮點型 print 1 1 2 print 2 5 3 print 2 5 10 print 2 5 0.4 求商,商保留整數部分 向小取整 print 5 2 2.5 print 5 2 2 pr...

day2 運算子和變數作業

print 100 25 3 4 應該輸出什麼?b a.1 b.97 c.25 d.0 下列哪種說法是錯誤的 a a.除字典型別外,所有標準物件均可以 於布林測試 b.空字串的布林值是false c.空列表物件的布林值是false d.值為0的任何數字物件的布林值是false 下列表示式的值為tru...

day2 運算子和變數作業

print 100 25 3 4 應該輸出什麼?b a.1 b.97 c.25 d.0 下列哪種說法是錯誤的 a a.除字典型別外,所有標準物件均可以 於布林測試 b.空字串的布林值是false c.空列表物件的布林值是false d.值為0的任何數字物件的布林值是false 下列表示式的值為tru...