循環是重覆執行的意思,一般分可分兩種: for 及 while
for 是固定次數的循環,可以是已知的次數或元素數量。
while 是根據條件是真/否而決定是否繼續循環。
循環固定次數
for x in range(1, 5):
print(x)
range(1, 5) 建立一個 [1, 2, 3, 4] 的串列
基於每個在串列內的元素,設定為 x,重覆執行縮排內的內容。
留意縮排,縮排是下一層
每一次都會顯示 x 的值
2. 製作樹形圖案
for x in range(1, 6):
print ("@" * x)
Output :
@
@@
@@@
@@@@
@@@@@
第一層顯示1個@、第二層顯示2個@,如此類推。
Please input the height [ 4 ]
Please input a character [ % ]
Output:
%
%%
%%%
%%%%
(提示:每層圖案由 [ % ] 和 [ _ ] 組合而成,先觀察每層兩者的數目增減)
Please input the height [ 4 ]
Please input a character [ % ]
Output:
_ _ _ % 當 z = 1, _ 有 3 個, % 有 1 個
_ _ %%% 當 z = 2, _ 有 2 個, % 有 3 個
_ %%%%% 當 z = 3, _ 有 1 個, % 有 5 個
%%%%%%% 當 z = 4, _ 有 0 個, % 有 7 個
Please input the height [ 4 ]
Please input the level [ 3 ]
Please input a character [ % ]
Output:
%
%%%
%%%%%
%%%%%%%
%
%%%
%%%%%
%%%%%%%
%
%%%
%%%%%
%%%%%%%
使用 WHILE 根據一個或多個條件決定是否重覆執行。
while x <= 0:
x = int(input("Enter a positive number :"))
print("You entered ", x)
輸入一個數值,直至所輸入的數值是正數
留意
1. <= 的使用
2. 縮排
收集數值,直至輸入一個負數,並把數據儲存到一個串列中。
a = [] # 建立一個空的串列用來收集數據
x = 1 # x 預設一個正數
while x > 0: # 若輸入的數值為正數
x = int(input("Enter a positive number :")) #繼續輸入
a.append(x) # 把數據加入串列 a
print(a) # 顯示 a 的內容
a = [1, 4, 5, 7, 23] # 可以自定串列內容
a.append(15) # 加入一個項目 (15)
a.pop() # 把最後一個項目刪除
print(len(a)) # 串列內項目的數量
a.sort() # 把串列內的項目排序
不斷收集數據,直至輸入0
把數據排序後顯示
Please input a data : 15
Please input a data : 25
Please input a data : -10
Please input a data : 12
Please input a data : 0
[-10, 12, 15, 25]
遊戲內容如下:
Guess a number between 1 and 100 : [ 70 ]
Too Large
Guess a number between 1 and 69 : [ 28 ]
Too Small
Guess a number between 29 and 69 : [ 45 ]
Too Large
Guess a number between 29 and 44 : [ 38 ]
Bingo! You win
產生一個由 1 至 100 的隨機數 bingo
設定最小值 min 為 1及 max 為 100
利用 WHILE 循環不斷重覆輸入 (直至所估的數 guess 等於 bingo)
要求輸入數字 guess
若果 guess > bingo
顯示 [Too Large]
設定 max 為 guess - 1
若果 guess < bingo
顯示 [Too Small]
設定 min 為 guess + 1
離開循環後,顯示 [ Bingo ! You Win ]
# 當 guess 不等於 bingo時
while guess != bingo:
#若 guess > bingo
if guess > bingo:
# 要求輸入數值語句中加入變數 min 及 max 的值
guess = int(input("Guess a number between " + str(min) + " and " + str(max) + " :"
完成以上開口中遊戲,並列出所估的次數。