Python基礎語法-流程控制
阿新 • • 發佈:2022-05-03
今天講解Python的流程控制,流程控制也比較簡單,小白不想整的很複雜,以免讓大家看了有一種望“文”生怯的想法。
程式控制結構
通常的程式設計語言有三種控制結構。
順序結構
程式碼從上而下順序執行。
>>> a = 0
>>> a = a + 1
>>> print(a)
1
分支結構
if cond1: block1 elif cond2: block2 >>> if 1 < 2: ... print('1 less 2') ... ... 1 less 2 >>> print('main block') main block
分支結構永遠只有一個分支會被執行。
迴圈結構
- white語句
- for語句
語句結構:
while cond:
block
一個例子,
>>> a = 0
>>> while a < 10:
... print(a)
... a += 1
...
...
0
1
2
3
4
5
6
7
8
9
通常在while迴圈中,迴圈體中需要修改條件,以使得條件為假。
迴圈中可以使用break及continue關鍵字,以使迴圈得以停止或繼續下一輪迴圈:
>>> a = 0 >>> while a < 10: ... if a == 5: ... break ... else: ... print(a) ... a += 1 ... ... 0 1 2 3 4
for迴圈,
for element in iterator:
block
迴圈體中絕對不要修改可迭代物件。如下的程式碼可能會導致機器宕機或重啟,
lst = range(0, 10)
for i in lst:
lst.append(i)
結構可以巢狀的,
>>> for i in range(0, 10):
... if i % 2 == 0:
... print(i)
...
...
...
0
2
4
6
8
break用於提前結束迴圈。continue用於跳過之後的語句。
break的示例,
>>> for i in range(0, 10):
... print(i)
... if i > 3:
... break
...
...
...
0
1
2
3
4
continue的示例,
>>> for i in range(0, 10):
... if i == 3:
... continue
... print(i)
...
...
0
1
2
4
5
6
7
8
9
示例
求素數,
a = 7
for i in range(2, a):
if a % i == 0:
break
else:
print('yes')
迴圈結構中else子句判斷迴圈有沒有提前退出,如果提前退出了,else子句不執行,如果沒有提前退出,執行else。
多重迴圈,
is_break = False
for i in range(0, 10):
for x in range(0, 10):
if x >= 3:
is_break = True
break
print('x = {0}'.format(x))
if is_break:
break
x = 0
x = 1
x = 2
一段小程式碼,
NUM = 35
for _ in range(0, 3): # 這裡的下劃線表示,不需要使用到該變數
user_input = int(input('pls input a number: '))
if user_input == NUM:
print('you win')
break
elif user_input < NUM:
print('less')
else:
print('big')
else:
print('you lose')
列印楊輝三角,
import math
for n in range(0, 10):
if n == 0:
print(1)
else:
for m in range(0, n+1):
num = math.factorial(n) // (math.factorial(m) * math.factorial(n-m))
print(num, end=' ')
print()
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
列印2到100的素數,
for n in range(2, 101):
for x in range(2, n):
if n % x == 0:
break
else:
print(n)
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
今日回顧
今天主要講解了三種程式流程控制:
- 順序結構
- 分支結構
- 迴圈結構
總體來說,三種流程控制結構不是很難,稍加練習,結合前面所學的知識點,就可以寫出一般的Python程式了。