---
# System prepended metadata

title: Wk_12

---

### WK_12_B1121138_1123
ch07_函式與模組

7.1 自訂函式

    自訂函式
    參數預設值
    變數有效範圍
7.2 數值函式

    數值函式整理
    指數、商數、餘數及四捨六入
    最大值、最小值、總和及排序
7.3 字串函式

    字串函式整理
    連接及分割字串
    檢查起始或結束字串
    字串排版相關函式
    搜尋即取代字串
7.4 亂數模組

    import 模組
    亂數模組函式整理
    產生整數或浮點數的亂數函式
    隨機取得字元或串列元素
7.5 時間模組

    時間模組函式整理
    取得時間訊息函式
    執行程式相關時間函式
【inclass practice】
    {綜合演練} 實作3:

    以十二小時(上午、下午)顯示現在時刻。

    實作4:

    小華媽媽上菜市場買菜，找錢時她希望在1元、5元、10元、50元硬幣中找回最少的硬幣。小華就利用自訂函式幫媽媽寫了一個程式。

    {範例} 攝氏溫度轉華氏溫度 \ 學生分蘋果 \ 總和及排序 \ 檢查網址格式 \ 以字串排版函式列印成績單 \ 轉換日期格式 \ 擲骰子遊戲 \ 大樂透中獎號碼 \ 列印時間函式所有資訊 \ 計算執行一百萬次整數運算的時間 \ {補充練習} 1A2B

    函式1 : 數字相同+位置相同

    函式2 : 數字相同 + 位置不同

    您必須從01~49中任選6個號碼進行投注。 開獎時，開獎單位將隨機開出六個號碼加一個特別號，這一組號碼就是該期大樂透的中獎號碼，也稱為「獎號」。 您的六個選號中，如果有三個以上（含三個號碼）對中當期開出之六個號碼（特別號只適用於貳獎、肆獎、陸獎和柒獎），即為中獎，並可依規定兌領獎金。
```python=
import random as r
list1 = r.sample (range(1,50),7)
print(list1)
special = list1.pop()
print(f"開獎號碼:{list1}\n特別號:{special}")
```
    [34, 33, 6, 14, 41, 21, 28]
    開獎號碼:[34, 33, 6, 14, 41, 21]
    特別號:28
```python=
def evaluate(guess):
    x,y = 0 , 0
    if len(guess) == 0:
        return 0 , 0

    for i in range(4):
        if guess[i]==secret[i]:
            x = x + 1 
        elif guess[i] in secret:
            y = y + 1
    return x , y
secret = "".join(r.sample("123456789",4))
print(secret)
while True:
    guess = input("enter 4 numbers , or 直接按enter")
    a,b = evaluate(guess)
    if a == 4:
        print("bingo")
        break
    elif len(guess) == 0:
        print("bye")
        break
    print(f"{a}A{b}B")
```
    6753
    enter 4 numbers , or 直接按enter
    bye
【afterclass practice】

尋找期末專題主題

{範例} 學生分蘋果 \ 總和及排序 \ 檢查網址格式 \ 以字串排版函式列印成績單 \ 轉換日期格式 \ {綜合演練} 實作3 實作4

實作3: 以十二小時(上午、下午)顯示現在時刻。
```python=
import time as t

Time = t.localtime()
sTime = "現在時間是"

if Time.tm_hour < 12: 
    sTime += "上午 "
    hour = Time.tm_hour
else:
    sTime += "下午 "
    hour = Time.tm_hour - 12
    
sTime += str(hour) + " 點 " + str(Time.tm_min) + " 分 "
sTime += str(Time.tm_sec) + " 秒"

print(sTime)
```
    現在時間是下午 6 點 58 分 2 秒
實作4: 小華媽媽上菜市場買菜，找錢時她希望在1元、5元、10元、50元硬幣中找回最少的硬幣。小華就利用自訂函式幫媽媽寫了一個程式。
```python=
def change(n ,coin): 
    m = n // coin   
    return m    

money=[50 ,10 ,5 ,1]
n = int(input("請輸入換幣金額："))
while (n > 0):
    for i in range(len(money)):
        coin = money[i]
        if (n >= coin):
            m = change(n,coin) # 換硬幣
            print("{}元 * {}個" .format(coin,m))
            n = n % coin
```
    請輸入換幣金額：54
    50元 * 1個
    1元 * 4個