我的程序的目的是成为一个虚拟的麦当劳收银员。我的程序的第一部分让收银员接受一个客户的订单。由于 while 循环,客户可以订购任意数量的商品。最后,它显示税款、小计和最终账单。以及用户支付的金额和他们的零钱。现在我需要我的程序来完成第一部分的所有工作,但我需要用户/收银员为尽可能多的排队客户执行此操作。我尝试将两个 while 循环嵌套在一起,但我做错了什么,我不知道是什么。有人能帮我吗?顺便说一句,第一部分工作 100%。
第一部分
num1 = 4.87
num2 = 5.03
num3 = 5.50
num4 = 9.45
num5 = 1.29
num6 = 2.19
num7 = 2.29
itemnum = 0
Subtotal = 0
tax = 0.0565
amtgiven = 0
change = 0
quantity = 0
foodprice = 0
Totalprice1 = 0
Totalprice2 = 0
Totalprice3 = 0
Totalprice4 = 0
Totalprice5 = 0
Totalprice6 = 0
Totalprice7 = 0
billtax = 0
finalbill = 0
change = 0
print "Welcome to Virtual McDonald's!" "Would you like to order a food item"
print "Item: Meal/tem: Price:"
print "1 Big Mac Meal 4.87"
print "2 Quarter Pounder Meal 5.03"
print "3 Chicken Nuggets Meal (5 piece) 5.50"
print "4 ChickenNuggets Meal (10 piece) 9.45"
print "5 Apple Pie 1.29"
print "6 Large Drink 2.19"
print "7 Large Fries 2.29"
itemnum = input("Enter the item you would like to purchase! ")
quantity = input("How many of this item do you want?")
while itemnum != -1:
if itemnum == 1:
foodprice = quantity * num1
Totalprice1 = foodprice
if itemnum == 2:
foodprice = quantity * num2
Totalprice2 = foodprice
if itemnum == 3:
foodprice = quantity * num3
Totalprice3 = foodprice
if itemnum == 4:
foodprice == quantity * num4
Totalprice4 = foodprice
if itemnum == 5:
foodprice = quantity * num5
Totalprice5 = foodprice
if itemnum == 6:
foodprice == quantity * num6
Totalprice6 = foodprice
if itemnum == 7:
foodprice = quantity * num7
Totalprice7 = foodprice
subtotal = Totalprice1 + Totalprice2 + Totalprice3 + Totalprice4 + Totalprice5 + Totalprice6 + Totalprice7
billtax = subtotal * tax
finalbill = subtotal + billtax
itemnum = input("Enter the item you would like to purchase! ")
quantity = input("How many of this item do you want?")
print "Your total bill without tax is... ", round(subtotal,2)
print "Your total tax is... ", round(billtax,2)
print "Your final bill is... ", round(finalbill,2)
amtgiven = input ("How much do you want to pay with?")
change = amtgiven - finalbill
print "Your change is... ", round(change,2)
第二部分
num1 = 4.87
num2 = 5.03
num3 = 5.50
num4 = 9.45
num5 = 1.29
num6 = 2.19
num7 = 2.29
itemnum = 0
Subtotal = 0
tax = 0.0565
amtgiven = 0
change = 0
quantity = 0
foodprice = 0
Totalprice1 = 0
Totalprice2 = 0
Totalprice3 = 0
Totalprice4 = 0
Totalprice5 = 0
Totalprice6 = 0
Totalprice7 = 0
billtax = 0
finalbill = 0
change = 0
customer = 0
print "Welcome to Virtual McDonald's!" "Would you like to order a food item"
print "Item: Meal/tem: Price:"
print "1 Big Mac Meal 4.87"
print "2 Quarter Pounder Meal 5.03"
print "3 Chicken Nuggets Meal (5 piece) 5.50"
print "4 ChickenNuggets Meal (10 piece) 9.45"
print "5 Apple Pie 1.29"
print "6 Large Drink 2.19"
print "7 Large Fries 2.29"
customer = raw_input ("Would you like to order? (If not type No)")
while customer != "No":
while itemnum != -1:
itemnum = input("Enter the item you would like to purchase! ")
quantity = input("How many of this item do you want? ")
if itemnum == 1:
foodprice = quantity * num1
Totalprice1 = Totalprice1 + foodprice
if itemnum == 2:
foodprice = quantity * num2
Totalprice2 = Totalprice2 + foodprice
if itemnum == 3:
foodprice = quantity * num3
Totalprice3 = Totalprice3 + foodprice
if itemnum == 4:
foodprice = quantity * num4
Totalprice4 = Totalprice4 + foodprice
if itemnum == 5:
foodprice = quantity * num5
Totalprice5 = Totalprice5 + foodprice
if itemnum == 6:
foodprice = quantity * num6
Totalprice6 = Totalprice6 + foodprice
if itemnum == 7:
foodprice = quantity * num7
Totalprice7 = Totalprice7 + foodprice
itemnum = input("Enter the item you would like to purchase! ")
quantity = input("How many of this item do you want? ")
subtotal = Totalprice1 + Totalprice2 + Totalprice3 + Totalprice4 + Totalprice5 + Totalprice6 + Totalprice7
billtax = subtotal * tax
finalbill = subtotal + billtax
print "Your total bill without tax is... ", round(subtotal,2)
print "Your total tax is... ", round(billtax,2)
print "Your final bill is... ", round(finalbill,2)
amtgiven = input ("How much do you want to pay with? ")
change = amtgiven - finalbill
print "Your change is... ", round(change,2)
customer = raw_input ("Would you like to order? (If not type No)")
#输出
当我运行第二个程序时,输出如下:
Welcome to Virtual McDonald's!Would you like to order a food item
Item: Meal/tem: Price:
1 Big Mac Meal 4.87
2 Quarter Pounder Meal 5.03
3 Chicken Nuggets Meal (5 piece) 5.50
4 ChickenNuggets Meal (10 piece) 9.45
5 Apple Pie 1.29
6 Large Drink 2.19
7 Large Fries 2.29
Would you like to order? (If not type No) yes
Enter the item you would like to purchase! 1
How many of this item do you want? 2
Enter the item you would like to purchase! 1
How many of this item do you want? 4
Your total bill without tax is... 9.74
Your total tax is... 0.55
Your final bill is... 10.29
How much do you want to pay with? 11
Your change is... 0.71
Enter the item you would like to purchase!
(在输入几个菜单项后,程序停止运行循环并直接进入账单。同样在账单之后,它不会询问用户他们是否是另一个客户。)
当我运行第一部分时,这是输出:
Welcome to Virtual McDonald's!Would you like to order a food item
Item: Meal/tem: Price:
1 Big Mac Meal 4.87
2 Quarter Pounder Meal 5.03
3 Chicken Nuggets Meal (5 piece) 5.50
4 ChickenNuggets Meal (10 piece) 9.45
5 Apple Pie 1.29
6 Large Drink 2.19
7 Large Fries 2.29
Enter the item you would like to purchase! 1
How many of this item do you want?4
Enter the item you would like to purchase! 2
How many of this item do you want?1
Enter the item you would like to purchase! -1
How many of this item do you want?-1
Your total bill without tax is... 24.51
Your total tax is... 1.38
Your final bill is... 25.89
How much do you want to pay with? 26
Your change is... 0.11
我希望第二部分输出第一部分输出的内容。除了给客户他/她的更改后,我希望它执行另一个循环,因此询问用户是否有另一个客户。如果用户输入“是”,那么程序将为另一个客户重新运行。只有当没有更多客户时,用户才输入“否”来结束程序。(我去了python shell,复制了这些输出结果。右边的数字是我输入的数字。)