掉進懸崖的小白,邁步發現控制語句泥潭,for和while無腦循環深陷,艱難爬出。

掉進懸崖的小白,發現控制語句泥潭,for和while無腦循環深陷,艱難爬出。。

三種基本控制結構:

順序結構、選擇(分支)結構、循環結構

順序結構就是順其自然,大道從簡,所謂道可道,非常道。

選擇結構:

if語句:


語法格式:
if 條件:
執行語句1
執行語句2

特性:
1.當條件爲真時,語句塊會執行,否則跳過不執行

2.可以嵌套任意層以構成更復雜的判斷選擇結構

注意:縮進來限定選擇執行的語句塊的範圍
ps:
可以使用pass這個佔位語句表示語句塊結束
pass 不做任何事情,只表示佔位
例:
if 條件:
語句
pass
pass後直接回車可以接續上一個代碼塊繼續寫代碼
if-else語句
適配雙分支語句
無論如何,必然會有一個分支執行

if-else語法:

if 條件:
條件爲真執行的語句
else:
條件爲假執行的語句

如果分支大於兩個,可以使用多個if或者if-else嵌套,也可以使用if-elif-else語句

if-elif-else語法格式:

if 條件1:
條件1爲真執行的語句
elif 條件2:
以上條件爲假且條件2爲真執行的語句
elif 條件3:
以上條件爲假且條件3爲真執行的語句
else:
以上條件全爲假執行的語句

三元取值表達式

三元表達式:
功能類似用if else取值
只是分支取值的一種語法糖
語法糖:糖衣語法 程序的便捷寫法

語法:值1 if 條件 else 值2
條件爲真取值1 條件爲假取值2

兩種語法格式的比較:
以打折爲例 參加就打九折 800以上打八折
data = 1000
if…else取值:
if data > 800:
data *= 0.8
else:
data *= 0.9
三元表達式取值:
data *= 0.8 if data > 800 else 0.9

循環結構:

while:先判斷,後執行,循環執行0-n次

語法格式:
while 條件:
條件爲真執行的語句
條件變化語句
若條件一直爲真 循環將永無休止:死循環

for:用控制變量控制循環次數

for語法:i會從頭至尾依次變換爲range得到的數據
注意:i只是慣例,可以替換成別的標識符
for i in range([start,]end[,step]):
循環語句

需要一個前置技能:range([start,]end[,step])
用於限制控制變量的範圍及步長
例如:
控制變量變化是:[0,n)使用range(3)即可得到0,1,2
控制變量變化是:[s(非0),n)使用range(1, 4)即可得1,2,3
控制變量變化是:[s,n)並且步長爲3使用range(3, 10, 3)即可得到3,6,9
注意:
負數也是可以的:range(1, -2, -1):1,0,-1
倒序也可以:range(3, 0, -1):3,2,1

中斷循環

break: 退出當前循環

continue:立即執行下一次循環

break:
在循環中,遇到break會立即退出並結束當前循環
continue:
在循環中,遇到continue會立即執行下一次循環,當次的後續語句會被忽略

使用技巧:

由於有了break,循環結束時無法判斷循環是正常結束還是break結束 添加了如下語法:

for…else:

for i in range(s,e):
if 突然中斷條件:
break;
else:
print(“正常終止”) # 表示不是break結束循環時執行的語句

while…else:

while 循環繼續條件:
if 突然中斷條件:
break;
循環繼續條件變化
else:
print(“正常終止”) # 表示不是break結束循環時執行的語句

引入隨機模塊

import random

print( random.randint(1,10) ) # 產生 1 到 10 的一個整數型隨機數
print( random.random() ) # 產生 0 到 1 之間的隨機浮點數
print( random.uniform(1.1,5.4) ) # 產生 1.1 到 5.4 之間的隨機浮點數,區間可以不是整數
print( random.choice(‘tomorrow’) ) # 從序列中隨機選取一個元素
print( random.randrange(1,100,2) ) # 生成從1到100的間隔爲2的隨機整數

小白爬出泥潭寫總結

選擇語句是爲了有條件的執行代碼,循環語句是爲了重複執行相同的代碼。
當預先知道循環次數是選擇for;當預先不知道循環次數選擇while。
break和continue的作用。
多層循環的使用技巧。

1.程序的結構:順序、選擇、循環

2.選擇:程序有了多路徑選擇的可能:
只有一條路可選:if
有兩條路可選:if…else
有兩條以上的路可選:if…elif…else

3.循環:複用代碼 讓程序員可以懶省事

預先不知道循環次數的循環:while 依靠break和條件進行終止
預先知道循環次數的循環:for 自行終止和break

4.循環的中斷:中斷當前循環 中斷當次循環的(if…else)

5.特殊到一般的歸納法一定要掌握

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章