Skip to content

Instantly share code, notes, and snippets.

@laiyenju
Last active March 22, 2020 06:41
Show Gist options
  • Save laiyenju/6e7acbb82694890ae4dd00a6c54df27f to your computer and use it in GitHub Desktop.
Save laiyenju/6e7acbb82694890ae4dd00a6c54df27f to your computer and use it in GitHub Desktop.
換鈔票,目標是以最大可換的紙鈔面額分組,顯示各組的數量與金額,以「;」分隔,但在字串結尾要刪除「;」
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