# 重複結構 ###### tags: `Python` ## While 迴圈 當某條件成立時,就做某件事,直到不成立為止。 ```python= while (條件): 要做的事情 ``` ## 範例:身份驗證 ```python= password = '123456789' word = input('第1次輸入,請輸入密碼:') num = 2 while (password != word and num != 5): word = input(f'密碼錯誤,第{num}次輸入,請再次輸入密碼:') num += 1 ; if password == word : print('密碼正確') else : print('帳號已上鎖') ``` ## For 迴圈 `for`迴圈分為兩種用法,一種是`指定次數`;另一種是`迭代` ```python= for 變數 in range(初始值, 結束值, 間隔值): 要做的事情 ``` 通常變數會是新宣告的,常用的代號有`i`, `j` ;當單純指定次數時則可用`for _ in range(初始值, 結束值, 間隔值):` ### 指定次數 指定次數: ```python= for i in range(10): print(i) ``` 指定範圍: ```python= for i in range(2, 10): print(i) ``` 指定間隔: ```python= for i in range(2, 10, 2): print(i) ``` ### 範例:計算連續相加 ```python= num = 0 num1 = eval(input('請輸入起始數字')) num2 = eval(input('請輸入結束數字')) for i in range (num1, num2+1): num += i print(f'答案為{num}') ``` 由於在`num1`=`num2`時迴圈就會終止,不會進行到`num += i`,所以後面的終止值需要`+1` ### 迭代 使用串列來執行迭代 ```python= nameList = ['Hank', 'Harry', 'John'] for name in shoppingList: print("I am %s." % (name)) ``` ### `enumerate()` 使用迭代也想要有編號的時候,可以用 `enumerate()` ```python= nameList = ['Hank', 'Harry', 'John'] for num, name in enumerate(nameList): print(f'第{num+1}項要買的東西是{name}。') ```