- 流程控制
- 概念:在程序設計中,我們根據需求所編寫的程序會遵從一定的業務邏輯(功能實現的思路和體現),比如判斷登錄狀態,查找某個學生的信息等。流程控制指的是代碼運行邏輯,分支走向,循環控制,是真正體現程序執行順序的操作。流程控制可分爲順序執行,條件判斷和循環控制。
- 僞代碼:是一種算法描述語言,通俗的講就是使用中文將程序寫出來。
- 作用:使被描述的算法或者邏輯可以容易的以任何一種編程語言實現。僞代碼必須結構清晰,代碼簡單,可讀性好,並且類似自然語言。
- Test:
輸入一個變量age
將輸入字符串轉換爲數字
(條件判斷:)
如果age大於等於18:
打印“成人”
如果age小於18,又分兩種情況:
如果age大於等於12:
打印“少年”
如果age小於12:
打印“兒童”
- 順序執行
- 概念:程序代碼從上之下順序執行
- Test:
if __name__ == '__main__':
name=input("enter your name:”)
print(“your name is %s”%name)
-
- If __name__==’__main__’:__name__是所有模塊(某個類的源文件)都會有的一個內置屬性,一個模塊的__name__值取決於如何調用該模塊。假設有一個test.py文件,如果在a.py中使用import導入了test模塊,則test模塊的__name__屬性值就是test。如果該模塊被直接執行python test.py則該模塊的__name__屬性值就是一個特別的缺省值__main__ 。所以根據該特性如果判斷__name__==__main__的話則if下面的代碼就會被執行。類似於main函數的感覺。
- 條件判斷
- 概念:條件判斷是通過一條或者多條語句執行的結果(True或False)來決定執行的代碼塊。使用if,elif和else三個關鍵字來進行條件判斷。
- 語法格式:
- 單if判斷:
if condition_1:
statement_block_1
-
-
- 單分支:
-
if condition_1:
statement_block_1
else
statement_block_2
-
-
- 多分支:
-
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
-
-
- 嵌套:
-
var = 100
if var < 200:
print("比200小!")
if var == 150:
print('這是150')
elif var == 100:
print('這是100')
elif var == 50:
print('這是50')
elif var < 50:
print("比50小!")
else:
print("無法判斷正確的值!")
print("Good bye!")
- 循環控制
- for和while循環
- while循環:
- 語法格式:
while 判斷表達式:
內部代碼塊
-
-
- 死循環while(True)
- While的else從句:當while正常循環完畢之後會執行else語句。如果被break等機制強制提前終止循環不會執行else語句。
- Test:
-
number = 10
i = 0
while i < number:
print(i)
i += 1
if i == 7:
break
else:
print("執行完畢!")
-
- For循環:
- 語法結構:
- For循環:
for <variable> in <sequence>:
<statements>
-
-
- Test:
-
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)
-
-
- For也可以使用else子句
- 循環嵌套:while和for都可以嵌套,但是建議不要嵌套3層以上,那樣效率會很低。
- Test:
-
# 這是一個判斷質數的程序
for n in range(2, 100):
for x in range(2, n):
if n % x == 0:
print(n, '等於', x, '*', n//x)
break
else:
# 循環中沒有找到元素
print(n, ' 是質數')
-
- break
- continue
- python中沒有goto