【问题标题】:Change maker with for loop带有 for 循环的变更制造商
【发布时间】:2018-09-28 14:41:52
【问题描述】:

我正在尝试使用 for 循环创建一个 change maker,以便它告诉我需要多少硬币(硬币、硬币、镍币、便士)才能达到输入的金额。

到目前为止,这是我的代码:

amount = input("Enter the amount of change owed: ")
amount = int(amount)

coins = [25, 10, 5, 1]

for coin in coins:

我不完全确定如何遍历列表并让它告诉我输入金额中每个硬币的数量。

例如,它可能看起来像这样:

Enter the amount of change owed: 99
Quarters: 3
Dimes: 9
Nickels: 19
Pennies: 99

抱歉这个愚蠢的问题,我还在习惯 python。

感谢您的阅读。

【问题讨论】:

  • 你能告诉我们你到目前为止所做的尝试吗?

标签: python python-3.x for-loop


【解决方案1】:

以你的代码为例,你只需要一个简单的除法:

amount = input("Enter the amount of change owed: ")
amount = int(amount)

coins = [25, 10, 5, 1]
results = []

for coin in coins:
    results.append(amount // coin) # The // sign is used to avoid fractions

print("Quarters: {}".format(results[0]))
print("Dimes: {}".format(results[1]))
print("Nickels: {}".format(results[2]))
print("Pennies: {}".format(results[3]))

for coin in coins 的想法是,在第一个循环中,coin 的值是 25,然后是 10,然后是 5,然后是 1。 然后你需要做的就是将所需的硬币存储在一个列表中,然后输出它们

如果您希望编写代码来打印如何进行更改,您需要做的就是像这样减去前一个硬币的价值:

for coin in coins:
    coin_nb = amount / coin
    results.append(coin_nb)
    amount -= coin * coin_nb # We substract the change we already gave back

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 2017-01-04
    • 2021-07-25
    • 1970-01-01
    相关资源
    最近更新 更多