Last active
March 22, 2020 06:41
-
-
Save laiyenju/6e7acbb82694890ae4dd00a6c54df27f to your computer and use it in GitHub Desktop.
換鈔票,目標是以最大可換的紙鈔面額分組,顯示各組的數量與金額,以「;」分隔,但在字串結尾要刪除「;」
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
price = 1000 - int(input()) | |
# 設定換各個面額鈔票的數量 | |
num500 = price//500 | |
num100 = (price - num500*500) // 100 | |
num50 = (price - num500*500 - num100*100) // 50 | |
num10 = (price - num500*500 - num100*100 - num50*50) // 10 | |
num1 = (price - num500*500 - num100*100 - num50*50 - num10*10) // 1 | |
# 當換鈔數量是 0 時,不顯示 | |
# 若換鈔數量不是 0,就將結果放到序列 list 中 | |
list = [] | |
if num500 == 0: | |
result_500 = "" | |
else: | |
result_500 = str("500, " + str(num500)) | |
list.append(result_500) | |
if num100 == 0: | |
result_100 = "" | |
else: | |
result_100 = str("100, " + str(num100)) | |
list.append(result_100) | |
if num50 == 0: | |
result_50 = "" | |
else: | |
result_50 = str("50, " + str(num50)) | |
list.append(result_50) | |
if num10 == 0: | |
result_10 = "" | |
else: | |
result_10 = str("10, " + str(num10)) | |
list.append(result_10) | |
if num1 == 0: | |
result_1 ="" | |
else: | |
result_1 = str("1, " + str(num1)) | |
list.append(result_1) | |
# 當序列 list 中的結果大於或等於 2 時(也就是顯示結果是兩組以上) | |
if len(list) >= 2: | |
print("; ".join(list)) # 顯示結果的組與組之間,要用;隔開 | |
else: # 當序列 list 中的結果小於 2 時(也就是顯示結果只有一個或零個) | |
print("".join(list)) # 顯示結果的組與組之間,就不用隔開了 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment