【问题标题】:Find exact change project查找确切的更改项目
【发布时间】: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 // 100remaining_cents = money % 100 避免了从转换为浮点数再返回整数的潜在错误。

标签: python coin-change


【解决方案1】:

如果您这样做是为了几分钱,那应该行得通。我确定这有点晚了,我现在正在上同一堂课。但希望这能帮助下一个人。

if remaining_cents >=1:
    pennies = remaining_cents // 1
    remaining_cents = pennies
    if pennies > 1:
        print(remaining_cents, 'Pennies')
    elif remaining_cents == 1:
        print(remaining_cents, 'Penny')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-22
    • 2015-05-08
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多