## wk12_1123_函式模組_期末專題參考 黃冠維 ch07_函式與模組 7.1 自訂函式 3. 變數有效範圍 7.2 數值函式 1. 數值函式整理 2. 指數、商數、餘數及四捨六入 3. 最大值、最小值、總和及排序 7.3 字串函式 1. 字串函式整理 2. 連接及分割字串 3. 檢查起始或結束字串 4. 字串排版相關函式 5. 搜尋即取代字串 ## [inclass practice] ### {綜合演練} 實作3: 以十二小時(上午、下午)顯示現在時刻。 實作4: 小華媽媽上菜市場買菜,找錢時她希望在1元、5元、10元、50元硬幣中找回最少的硬幣。小華就利用自訂函式幫媽媽寫了一個程式。 ### {範例} 2. 學生分蘋果 \ 3. 總和及排序 \ 4. 檢查網址格式 \ 5. 以字串排版函式列印成績單 \ 6. 轉換日期格式 \ 8. 大樂透中獎號碼 \ ```python #大樂透中獎號碼 \ import random as r list1 = r.sample(range(1,50),7) special = list1.pop() print(f"特別號 = {special}") print(f"中獎號碼 = {list1}") ``` 特別號 = 8 中獎號碼 = [35, 30, 32, 13, 37, 25] .pop可以去掉最後一個 r.sample(數字範圍,取幾個) ### {補充練習} 1A2B 函式1 : 數字相同+位置相同 函式2 : 數字相同 + 位置不同 ```python #1A2B def evaluate(guess) : a = 0 b = 0 for i in range(4) : if guess[i] == secret[i] : a = a+1 elif guess[i] in secret : b = b+1 return a, b import random as r secret = "".join(r.sample("123456789",4)) while True : guess = (input("請輸入4位數字,按enter可結束遊戲 : ")) if len(guess) == 0 : print(f"byebye") break a,b = evaluate(guess) print(f"{a}A{b}B") if a == 4 : print("bingo") ``` 請輸入4位數字,按enter可結束遊戲 : 4568 0A3B 請輸入4位數字,按enter可結束遊戲 : 6458 1A2B 請輸入4位數字,按enter可結束遊戲 : 6548 2A1B 請輸入4位數字,按enter可結束遊戲 : 6748 2A0B 請輸入4位數字,按enter可結束遊戲 : 6958 1A1B 請輸入4位數字,按enter可結束遊戲 : 6231 1A1B 請輸入4位數字,按enter可結束遊戲 : 6735 2A0B 請輸入4位數字,按enter可結束遊戲 : 6723 1A0B 請輸入4位數字,按enter可結束遊戲 : 6943 2A0B 請輸入4位數字,按enter可結束遊戲 : 6148 3A0B 請輸入4位數字,按enter可結束遊戲 : 6149 3A0B 請輸入4位數字,按enter可結束遊戲 : 6147 3A0B 請輸入4位數字,按enter可結束遊戲 : 6145 4A0B 請輸入4位數字,按enter可結束遊戲 : byebye Cell In[7], line 26 break ^ SyntaxError: 'break' outside loop guess[i]這部分還有點不懂,是指0 1 2 3有相同的情況嗎 ## [afterclass practice]