【发布时间】:2022-11-14 05:22:02
【问题描述】:
我正在为学校做一个实验室来找到确切的变化。例如 126 是输入,答案是 1 美元 1 季度 1 便士。语法也很重要。我无法让便士部分工作。它似乎在 104 之后停止工作。另外,我确信有更简单的方法来编写代码,但这就是我们到目前为止所学到的全部内容。
money = int(input())
money = money / 100
dollar = int(money // 1)
remaining_cents = int((money - dollar) * 100)
if money <= 0:
print('No change')
if dollar == 1:
print(dollar, 'Dollar')
if dollar > 1:
print(dollar, 'Dollars')
if remaining_cents >= 25:
quarters = remaining_cents // 25
remaining_cents = remaining_cents - (quarters * 25)
if quarters == 1:
print(quarters, 'Quarter')
elif quarters > 1:
print(quarters, 'Quarters')
if remaining_cents >= 10:
dimes = remaining_cents // 10
remaining_cents = remaining_cents - (dimes * 10)
if dimes > 1:
print(dimes, 'Dimes')
elif dimes == 1:
print(dimes, 'Dime')
if remaining_cents >= 5:
nickels = remaining_cents // 5
remaining_cents = remaining_cents - (nickels * 5)
if nickels > 1:
print(nickels, 'Nickels')
elif nickels == 1:
print(nickels, 'Nickel')
else:
if remaining_cents > 1:
print(remaining_cents, 'Pennies')
elif remaining_cents == 1:
print(remaining_cents, 'Penny')
【问题讨论】:
-
对于
126的测试用例,我使用您的代码的输出是“”1 美元1 季度1 便士“”您到底遇到了什么问题? -
我不确定这是否是您问题的根源,但是
dollar = money // 100和remaining_cents = money % 100避免了从转换为浮点数再返回整数的潜在错误。
标签: python coin-change