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