好的,所以我正在用Python创建一个收银机命令行程序。我希望程序能够告诉我们应该将多少二十,二十,五,一,四分之一,一角硬币,一分钱和便士作为变化。我知道什么方程式需要关闭,我可以弄清楚如何打印二十几岁,但我似乎无法弄清楚从那里去哪里。例如,我的代码类似于:
if change >= 2000:
twenties = change / 2000
moneyform = "%i" % twenties
print("Twenties "), moneyform
else:
print("Twenties: 0")
next = change - 2000
if next >= 1000:
tens = next / 1000
moneyformtwo = "%i" % tens
print("Tens "), moneyformtwo
else:
print("Tens: 0")
等等,等等。
现在我知道我没有正确地做到这一点,但是会发生什么是二十年代正确打印,但随后程序停止而没有继续到十位。我该怎么做才能解决这个问题?
答案 0 :(得分:2)
为什么甚至使用if / else语句?
twenties = int(change / 2000)
change = change % 2000
tens = int(change / 1000)
change = change % 1000
fives = int(change / 500)
change = change % 500
在最后打印结果
编辑:我在答案中做了同样的假设,即整数代表美分,正如你在问题陈述中所做的那样。在顶部试试这个:
amount_paid = 50.00
price = 24.50
change = amount_paid*100 - price*100