## 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寫