TQC題庫-第四大類_不定數迴圈_While

這篇文章教你透過各種程式技巧解決數學問題。從找最小值到反轉字串,文章介紹如何使用清爽的變數和函式來簡化程式碼,避免肉眼難以理解的數字。再來是BMI計算,用胖瘦星球之旅掌握你的體重狀態。最後還帶你輕鬆判斷數字奇偶性和在螢幕上印出絢麗的星狀圖案,真是讓人啼笑皆非的內容!

402

利用一個變數儲存最小值,當每次輸入有更小的時候,就做替換。

Image

1
2
3
4
5
6
7
8
min=float('inf') #999999999
while True:
num = eval(input())
if num == 9999:
break
if num < min:
min = num
print(min)

考進階的同學可以使用list 中的min() 函式解題更為簡單,也減少一開始要設定min變數一個很大的值,這個不自然的想法。

1
2
3
4
5
6
7
lst=[]
while True:
num = eval(input())
if num == 9999:
break
lst.append(num)
print(min(lst))

404

字串範圍的使用方法類似range() ,使用方法為:字串[開始:結束的條件:間隔]

若要反轉,間隔為-1,開始與結束條件可省略。

1
2
n = input()
print(n[::-1])

406

此題注意BMI公式要轉換為公尺。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while True:
h = eval(input())
if h == -9999:
break
w = eval(input())
bmi = w / (h / 100)**2
print(f'BMI: {bmi:.2f}')
if bmi >= 30:
print('State: fat')
elif 25 <= bmi < 30:
print('State: over weight')
elif 18.5 <= bmi < 25:
print('State: normal')
else:
print('State: under weight')

408

設定變數eo 儲存偶數和奇數的個數,判斷奇偶後進行計數。

1
2
3
4
5
6
7
8
9
10
e = 0
o = 0
for _ in range(10):
i = eval(input())
if i % 2 == 0:
e = e + 1
else:
o = o + 1
print(f'Even numbers: {e}')
print(f'Odd numbers: {o}')

410

建議自行跑一次ij 的迴圈(如下圖)。

1
2
3
4
5
6
7
8
9
10
n = eval(input())
for i in range(1, n + 1):
# 印出空白 (n - i) 個
for j in range(n - i):
print(" ", end="")
# 印出 * (2 * i - 1) 個
for k in range(2 * i - 1):
print("*", end="")
# 換行
print()

Image

1
2
3
4
5
n = eval(input())
for i in range(1, n + 1):
print(' ' * (n - i), end='')
print('*' * (2 * i - 1), end='')
print()

TQC題庫-第四大類_不定數迴圈_While
https://codinglu.tw/2025/03/tqc-question-bank-fourth-category-undetermined-number-loop-while-tqc-certification/
作者
阿盧
發布於
2025年3月17日
許可協議
📌 本文瀏覽量: 0