第一模組 第6章 流程控制

2022-02-02 07:58:06 字數 2966 閱讀 5486

day06:(全為重點)

1.可變不可變型別

2.什麼是條件?為何要用條件?什麼可以當作條件?

3.邏輯運算子

and or not

優先順序:not > and > or

4.成員運算子

5.身份運算子

6. 流程控制之if判斷

通過可變不可變型別對前面學習的資料型別進行分類。

可變型別:值改變,id不變,證明改的是原值。

列表、字典

不可變型別:值改變,id也變了,證明是產生了新的值,並沒有改變原值,說明原值並沒有被修改。

int、float、字串、bool在python中被設計成了不可分割的整體,不能被改變。

什麼是條件?什麼可以當作條件?為什麼要用條件?

第一大類:顯式布林值

1.條件可以是比較運算子

a = 10

a > 1

條件判斷後會得到乙個布林值

2.條件可以是true、false

第二大類:隱式布林值(所有的值都可以當成條件去用)

所有資料型別,其中0、none、空(空字串、空列表、空字典)為假,其餘全為真

# 一. not、and、or的基本使用

#not:就是把緊跟其後的那個條件結果取反,not與緊跟其後的那個條件是乙個不可分割的整體

print(not 16 > 13) # 結果為false

print(not 10) # 結果為false

print(not

0) # 結果為true

print(not none) # 結果為true

'''

and:邏輯與,and用來連線左右兩個條件,兩個條件同時為真,最終結果才為真

條件1 and 條件2

偷懶原則:碰到假,就為假

'''print(true and 10 > 3 and 1 < 2) # 結果為true

print(true and 10 > 3 and 1 > 2) # 結果為false

'''

or:邏輯或,用來連線左右兩個條件,兩個條件中有乙個為真,最終結果就為真,

兩個條件都為假時,最終結果才為假,也遵循偷懶原則

'''print(10 or 10 > 11)

print(0 or none)

'''二. not、and、or的優先順序

not > and > or

如果只是單獨的一串and連線,或者只是單獨的一串or連線,按照從左到右的順序依次計算(偷懶原則)。

如果是混合出現not、and、or,則應使用優先順序原則

示例:3 > 4 and not 4 > 3 or 1==3 and 'x'=='x' or 3 > 3

解決方法:

1.首先將not與緊挨其後的條件用括號括起來

2.然後將and左右的條件用括號括起來

3.最後整個語句就只剩下or的運算了

(3 > 4 and (not 4 > 3)) or (1==3 and 'x'=='x') or 3 > 3

注意:如果語句中真的使用了(),則應將()中的內容視為乙個整體

'''

#

1.成員運算子(in/not in),適用於字串、列表、字典、元祖、集合

#用在字串中,判斷子字串是否存在於乙個大的字串中

print('

egon'in

'hello egon

') #

結果為true

print('e'

in'hello egon

') #

結果為true

#用在列表中,判斷元素是否存在於列表中

print(111 in [111, 222]) #

結果為true

#用在字典中,判斷key是否存在於字典中

print(111 in ) #

結果為false

print('a'

in ) #

結果為true

#not in

print('

egon

'notin'

hello egon

') #

結果為false,推薦使用這種方式

print(not

'egon'in

'hello egon

') #

結果為false,邏輯同上,但語義不明確,不推薦使用這種方式

#2.身份運算子

#is判斷id是否相等

#== 判斷值是否相等

語法1:

if 條件:

**1**2

**3語法2:

if 條件:

**1**2

**3else:

**1**2

**3語法3:

if 條件1:

**1**2

elif 條件2:

**1**2

elif 條件3:

**1**2

else:

**1**2

注意:只要有乙個條件成立,則會執行該條件對應的**塊,然後結束判斷。

語法4:

if 巢狀 if

注意的問題:

下圖**下方有波浪線,說明此**在規範方面存在一定的問題:

將滑鼠游標放到波浪線身上,出現以下提示,點選下圖紅框中的內容,便可對**進行優化。

優化結果如下:

第3章 流程控制結構

相同點 1 都能解決任何型別的迴圈題目 2 都具備迴圈四要素 不同點 1 語法不同 2 執行順序不同 while和for 先判斷後執行 do while 先執行後判斷 3 執行效果不同 如果第一次條件成立,while do while for 執行效果相同 如果第一次條件不成立,while for ...

第3章 流程控制語句

順序結構就是程式從上到下逐行地執行,中間沒有任何判斷和跳轉。if結構格式一 if 條件表示式 if結構格式二 格式二可以與三元運算子互換 if 條件表示式 else if結構格式三 if 條件表示式1 else if 條件表示式2 else if 條件表示式n else if巢狀if 1 switc...

Go語言 第4章 流程控制

第4章 流程控制 主要內容 go語言規定與if匹配的左括號 else if 表示式2 else 10 特殊寫法 if 還有特殊的寫法,可以在if表示式之前新增乙個執行語句,再根據變數值進行判斷,如 if err connect err nil connect 為假設的函式,err connect 可...