我试图用for循环来做一个改变器,这样它就可以告诉我要多少硬币(25美分,一角硬币,五分钱,一分钱)才能达到输入的数量。
到目前为止,我的代码如下:
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
对不起,这个愚蠢的问题,我还是习惯于蟒蛇。
感谢您的阅读。
发布于 2018-09-28 06:58:58
以您希望代码所做的事情为例,您所需要的只是一个简单的划分:
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
的思想是,在第一个循环中,硬币的值是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
https://stackoverflow.com/questions/52557689
复制相似问题