## week11_1116_module_實戰 ### ch07_函式與模組 7.1 自訂函式<br> 1. 自訂函式<br> 2. 參數預設值<br> 3. 變數有效範圍<br> 7.2 數值函式<br> 1. 數值函式整理<br> 2. 指數、商數、餘數及四捨六入<br> 3. 最大值、最小值、總和及排序<br> 7.3 字串函式<br> 1. 字串函式整理<br> 2. 連接及分割字串<br> 3. 檢查起始或結束字串<br> 4. 字串排版相關函式<br> 5. 搜尋即取代字串<br> 7.4 亂數模組<br> 1. import 模組<br> 2. 亂數模組函式整理<br> 3. 產生整數或浮點數的亂數函式<br> 4. 隨機取得字元或串列元素<br> 7.5 時間模組<br> 1. 時間模組函式整理<br> 2. 取得時間訊息函式<br> 3. 執行程式相關時間函式<br> ### [inclass practice] ### {綜合演練} ### 實作3: ``` 以十二小時(上午、下午)顯示現在時刻。 ``` ### 實作4: ``` 小華媽媽上菜市場買菜,找錢時她希望在1元、5元、10元、50元硬幣中找回最少的硬幣。小華就利用自訂函式幫媽媽寫了一個程式。 ``` ### {範例} 1. 攝氏溫度轉華氏溫度 \ 2. 學生分蘋果 \ 3. 總和及排序 \ 4. 檢查網址格式 \ 5. 以字串排版函式列印成績單 \ 6. 轉換日期格式 \ 7. 擲骰子遊戲 \ 8. 大樂透中獎號碼 \ 9. 列印時間函式所有資訊 \ 10. 計算執行一百萬次整數運算的時間 \ ### {補充練習} - 1A2B - 函式1 : 數字相同+位置相同 - 函式2 : 數字相同 + 位置不同 ```python import time print("hello") time.sleep(1) print("vivian") ``` hello vivian ```python import time as t print("hello") t.sleep(1) print("vivian") ``` hello vivian ```python from time import sleep, perf_counter print("hello") sleep(1) print("vivian") ``` hello vivian ```python for i in range (11): print(i) sleep(1) ``` 0 1 2 3 4 5 6 7 8 9 10 ```python startTime = perf_counter() for i in range (3): print(i) sleep(0.97) endTime = perf_counter() print(f"總費時:{endTime - startTime}秒") ``` 0 1 2 總費時:2.9318465999999717秒 ```python t.localtime() ``` time.struct_time(tm_year=2023, tm_mon=11, tm_mday=16, tm_hour=16, tm_min=12, tm_sec=37, tm_wday=3, tm_yday=320, tm_isdst=0) ```python t.ctime() ``` 'Thu Nov 16 16:13:00 2023' ### {範例} 7. 擲骰子遊戲 ```python import random as r while True: inKey = input("按任意鍵然後enter,擲骰子;若要結束遊戲,請直接按enter") if len(inKey) > 0: print(r.randint(1,6)) else: print("game over") break ``` 按任意鍵然後enter,擲骰子;若要結束遊戲,請直接按enter5 4 按任意鍵然後enter,擲骰子;若要結束遊戲,請直接按enter4 4 按任意鍵然後enter,擲骰子;若要結束遊戲,請直接按enterd 2 按任意鍵然後enter,擲骰子;若要結束遊戲,請直接按enterr 3 按任意鍵然後enter,擲骰子;若要結束遊戲,請直接按enter game over ### [afterclass practice] 1. 教學影音: - 新手入門 #07 Function (函式) - 新手入門 #09 Module (模組) 2. 期末分組名單 ### 期末報告 到github找資料 1. README:解釋檔 2. Issues:向作者問問題 3. pull requests:修改並回傳程式給作者 4. 有缺少的module:! pip install _____ 5. 可以用vscode寫