第五章 程式控制結構

2021-10-04 08:59:18 字數 4468 閱讀 4790

1、比較運算

非空

ls =[1

]if ls:

# 資料結構不為空、變數不為0、none、false 則條件成立

print

("非空"

)else

:print

("空的"

)

2、邏輯運算

與、或、非

a =

10b =

8c =

12print

((a > b)

and(b > c)

)# 與

print

((a > b)

or(b > c)

)# 或

print

(not

(a > b)

)# 非

復合邏輯運算的優先順序

非 > 與 > 或

3、存在運算

元素 in 列表/字串

cars =

["byd"

,"bmw"

,"audi"

,"toyota"

]print

("bmw"

in cars)

print

("benz"

in cars)

元素 not in 列表/字串

print

("bmw"

notin cars)

print

("benz"

notin cars)

第二部分 分支結構——if語句

1、單分支

模板if 條件:

縮排的**塊

2、二分支

模板if 條件:

縮排的**塊

else:

縮排的**塊

3、 多分支

模板if 條件:

縮排的**塊

elif 條件:

縮排的**塊

elif 條件:

縮排的**塊

…else:

縮排的**塊

不管多少分支,最後只執行乙個分支

4、巢狀語句

題目:年滿18周歲,在非公共場合方可抽菸,判斷某種情形下是否可以抽菸

age =

eval

(input

("請輸入年齡"))

if age >18:

is_public_place =

bool

(eval

(input

("公共場合請輸入1,非公共場合請輸入0"))

)print

(is_public_place)

ifnot is_public_place:

print

("可以抽菸"

)else

:print

("禁止抽菸"

)else

:print

("禁止抽菸"

)

第三部分 遍歷迴圈——for 迴圈

主要形式:

for 元素 in 可迭代物件:

執行語句

執行過程:

從可迭代物件中,依次取出每乙個元素,並進行相應的操作

1、直接迭代——列表[ ]、元組( )、集合、字串" "

2、變換迭代——字典

students =

for k, v in students.items():

print

(k, v)

for student in students.keys():

print

(student)

3、range()物件

res=

for i in

range

(10000):

2)print

(res[:5

])print

(res[-1

])

迴圈控制:break 和 continue

break 結束整個迴圈

continue 結束本次迴圈

for 與 else的配合

如果for 迴圈全部執行完畢,沒有被break中止,則執行else塊

product_scores =[89

,90,99

,70,67

,78,85

,92,77

,82]# 1組10個產品的效能評分

# 如果低於75分的超過1個,則該組產品不合格

i =0

for score in product_scores:

if score <75:

i+=1if i ==2:

print

("產品抽檢不合格"

)break

else

:print

("產品抽檢合格"

)

第四部分 無限迴圈——while 迴圈

4.1 為什麼要用while 迴圈

經典題目:猜數字

4.2 while迴圈的一般形式

主要形式:

while 判斷條件:

執行語句

條件為真,執行語句

條件為假,while 迴圈結束

albert_age =

18 guess =

int(

input

(">>:"))

while guess != albert_age:

if guess > albert_age :

print

("猜的太大了,往小裡試試..."

)elif guess < albert_age :

print

("猜的太小了,往大里試試..."

) guess =

int(

input

(">>:"))

print

("恭喜你,猜對了..."

)

4.3 while與風向標

albert_age =

18 flag =

true

# 布林型別

while flag:

guess =

int(

input

(">>:"))

if guess > albert_age :

print

("猜的太大了,往小裡試試..."

)elif guess < albert_age :

print

("猜的太小了,往大里試試..."

)else

:print

("恭喜你,猜對了..."

) flag =

false

# 當訴求得到滿足,就讓風向變一下

4.4 while 與迴圈控制 break、continue

albert_age =

18while

true

: guess =

int(

input

(">>:"))

if guess > albert_age :

print

("猜的太大了,往小裡試試..."

)elif guess < albert_age :

print

("猜的太小了,往大里試試..."

)else

:print

("恭喜你,猜對了..."

)break

# 當訴求得到滿足,就跳出迴圈

4.5 while與else

如果while 迴圈全部執行完畢,沒有被break中止,則執行else塊

count =

0while count <=5:

count +=

1print

("loop"

,count)

else

:print

("迴圈正常執行完啦"

)

第五部分 控制語句注意問題

5.1 盡可能減少多層巢狀

可讀性差,容易把人搞瘋掉

5.2 避免死迴圈

條件一直成立,迴圈永無止境

5.3 封裝過於複雜的判斷條件

如果條件判斷裡的表示式過於複雜

出現了太多的 not/and/or等

導致可讀性大打折扣

考慮將條件封裝為函式

附註:

ax2 = ax.twinx(

)# 讓2個子圖的x軸一樣,同時建立副座標軸。

C 第五章程式流程

1,選擇語句 if語句和switch語句,if語句中的else與它上面的,離它最近的,尚未匹配的if語句匹配 switch語句中的控制語句的型別有整數,字元,字串,列舉 可以利用break跳出switch語句 switch語句中可以有default語句,乙個switch語句最多只有乙個default...

第五章 程式功能設計

二.資料表建立語句 create table message id int unsigned not null auto increment primary key,title varchar 120 not null default content varchar 255 not null def...

第五章 迴圈結構

第五章 迴圈結構 5.1while語句和呼叫while語句構成的迴圈結構 當 迴圈 由while語句構成 形式 while 表示式 迴圈體eg k 0 while k 10 說明 while是c語言的關鍵字。while後一對圓括號中的表示式可以是c語言中任意合法的表示式,但不能為空,由它來控制迴圈是...