在while循环和收集用户输入时遇到麻烦



你好,我正在做一个自助服务程序的任务。我在收集用户输入的同时试图合并while循环时遇到了麻烦。我希望我的代码收集一定数量的钱(由用户输入),并提示用户他们还需要支付多少钱。一旦支付的金额超过了到期金额,我希望继续执行其余的代码。这就是我目前所做的,但循环在输入2次后停止,即使用户没有支付足够的钱。

elif paid < TotalCost:
due = TotalCost - paid
while due > 0:
print("You need to pay $",round(due,2)," more.")
morepaid=float(input("Enter the amount paid: $"))
if morepaid>TotalCost:
change= morepaid- TotalCost
print("Change due: $",round(change,2))
print(" ")
print("Thank you for visiting McDonald's")

elif due== 0:
print("Change due: $0.00")
print(" ")
print("Thank you for visiting McDonald's")
else:
due -= morepaid

您可以简单地从due中减去支付的金额,您不需要另一个变量totalpaid

elif paid < totalCost:
due = totalCost - paid:
while due > 0:
print("You need to pay $",round(due,2)," more.")
morepaid=float(input("Enter the amount paid: $"))
due -= morepaid

最新更新