### WK6_B1121138_1012 4.1 range 函式 認識 range 函式 range 函式的語法 4.2 for 迴圈 巢狀 for 迴圈 break 命令 continue 命令 4.3 while 迴圈 【inclass practice】 {綜合演練} 實作5: 一個正整數除了1和自己外,無法再被其他數整除,這個數就是質數。 請輸入一正整數,列出此數的所有正因數,並判斷使數字是否為質數 {範例} 1. 最小公倍數 2. 顯示正整數數列,排除5的倍數 3. while迴圈計算階乘 {補充 while 練習} 猜數字遊戲:寫一個程式,隨機選擇一個1到100的數字,然後要求玩家通過輸入猜測該數字,直到猜對為止。使用while迴圈來實現,並在玩家猜對時結束遊戲。 ```python= n = int(input()) for i in range (1 , n + 1): if i % 5 == 0: continue print (i) ``` ```python= n = int(input()) for i in range (1 , n + 1): if i % 5 == 0: break print (i) ``` 11 1 2 3 4 ```python= a = int(input("a = ")) b = int(input("b = ")) maxnum = a * b for i in range (1 , maxnum + 1): if i % a == 0 and i % b == 0: ans = i break print (i) ``` a = 5 b = 4 20 ```python= a = int(input("a = ")) i = 2 ans = 0 while i < a: if a % i == 0: print(i) ans += 1 i += 1 if ans > 1: print("no") else: print("yes") ``` a = 90 2 3 5 6 9 10 15 18 30 45 no ```python= import random ans = random.randint(1, 100) while True: a = int(input()) if a == ans: print("Y") break else: print("N") ``` 8 N 5 N 4 N 6 N 45 N 87 N 65 N 12 N 45 N 32 N 55 N 99 N 444 N 47 N 12 N 32 N 14 N 15 N 16 N 13 N 1 N 7 N 17 N 18 N 19 N 11 N 20 N 21 N 23 N 24 N 25 N 26 N 27 N 28 N 29 N 30 N 31 N 32 N 33 N 34 N 35 N 36 N 37 N 38 N 39 N 40 N 41 N 42 N 43 N 45 N 44 N 46 N 47 N 48 N 49 N 50 N 51 N 52 N 53 N 54 N 55 N 56 Y ```python= a = 15 p = 1 counter = 0 while p <= a: if a % p == 0: counter += 1 p += 1 if counter > 2: ans = "合數" else: ans = "質數" print (a , "是" , ans , counter) ``` 15 是 合數 4 ```python= target_number = random.randint(1, 100) guess = None attempts = 0 while guess != target_number: guess = int(input("請猜一個1到100的數字:")) attempts += 1 if guess < target_number: print("太低了!再猜一次。") elif guess > target_number: print("太高了!再猜一次。") print(f"恭喜!你猜對了,答案是{target_number}。你總共猜了{attempts}次。") ``` 請猜一個1到100的數字:50 太高了!再猜一次。 請猜一個1到100的數字:25 太高了!再猜一次。 請猜一個1到100的數字:13 太高了!再猜一次。 請猜一個1到100的數字:6 太高了!再猜一次。 請猜一個1到100的數字:3 恭喜!你猜對了,答案是3。你總共猜了5次。 ```python= import random target_number = random.randint(1, 10) guess = None while guess != target_number: guess = int(input("請猜一個1到10的數字:")) if guess < target_number: print("太低了!再猜一次。") elif guess > target_number: print("太高了!再猜一次。") print(f"恭喜!你猜對了,答案是{target_number}。") ``` 請猜一個1到10的數字:8 太高了!再猜一次。 請猜一個1到10的數字:5 太高了!再猜一次。 請猜一個1到10的數字:4 太高了!再猜一次。 請猜一個1到10的數字:3 太高了!再猜一次。 請猜一個1到10的數字:2 太高了!再猜一次。 請猜一個1到10的數字:1 恭喜!你猜對了,答案是1。 ```python= import time countdown = int(input("請輸入倒數的秒數:")) while countdown > 0: print(countdown) time.sleep(1) countdown -= 1 print("阿拉花瓜!") ``` 請輸入倒數的秒數:10 10 9 8 7 6 5 4 3 2 1 阿拉花瓜! ```python= total = 0 while True: num = int(input("請輸入一個整數(輸入0結束):")) if num == 0: break total += num print(f"總和:{total}") ``` 請輸入一個整數(輸入0結束):9 請輸入一個整數(輸入0結束):7 請輸入一個整數(輸入0結束):5 請輸入一個整數(輸入0結束):5 請輸入一個整數(輸入0結束):6 請輸入一個整數(輸入0結束):5 請輸入一個整數(輸入0結束):0 總和:37