- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的程序的目的是成为一名虚拟的麦当劳收银员。我的程序的第一部分让收银员接受一个顾客的订单。多亏了 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
我希望第二部分输出第一部分输出的内容。除非它给了客户他/她的零钱,否则我希望它执行另一个循环,因此询问用户是否有另一个客户。如果用户输入"is",则该程序将为另一个客户重新运行。只有当没有更多顾客时,用户才输入“否”来结束程序。 (我到python shell中复制了这些输出结果。右边的数字是我输入的数字。)
最佳答案
好的,有一些问题可以通过您的程序在语法和逻辑上进行修复。我继续修复它们,我将解释我做了什么以及为什么。首先,您需要另一个 while
循环来满足用户指定是否有其他客户排队的需求。我创建了一个新变量来处理新的 while 循环。这是代码:
nextcustomer = "yes"
while nextcustomer != "no":
amtgiven = 0
change = 0
quantity = 0
foodprice = 0
totalprice = 0
billtax = 0
finalbill = 0
itemnum = 0
但是,在这个新循环中,我们需要添加一些变量,这些变量需要在每个客户之后重置。循环外的全局变量应该是那些不需要因客户而变化的变量,例如食品价格或税率。我们需要添加更改和总价以及这些内容,我在前面的代码中这样做了。
在所有其他事情发生之后,是否会有另一个客户的问题将进入第一个 while 循环,以便它知道是否再次迭代。这个问题在这里:
while nextcustomer != "no":
(all of the code)
nextcustomer = raw_input("Is there another customer? (yes or no) ")
我还在第二个 while 循环中添加了一些中断,否则它将继续迭代,而无法提示用户是否想要订购。
我所做的另一项更改是,我将所有 Totalprice1、Totalprice2
...变量合并到一个变量 totalprice
中。为此,您只需要一个变量,因为您已经在自己的变量中定义了价格(num1, num2
...)。每个选择下的计数器变量的代码如下所示:
totalprice += foodprice
这相当于总价格=总价格+食品价格
。它只是更好的语法。另外,现在您甚至不需要 subtotal
变量。
我还在他们选择的数字的问题后面添加了一个 if
语句,如果他们输入 -1,则该数字将被选中,这样您就不必输入 -1 项的金额:
if itemnum == -1:
break
我确信还有一些更改,我可能会回来编辑它以确保所有内容都得到解释,但这是编辑后的完整程序代码:
num1 = 4.87
num2 = 5.03
num3 = 5.50
num4 = 9.45
num5 = 1.29
num6 = 2.19
num7 = 2.29
tax = 0.0565
customer = 0
nextcustomer = "yes"
while nextcustomer != "no":
amtgiven = 0
change = 0
quantity = 0
foodprice = 0
totalprice = 0
billtax = 0
finalbill = 0
itemnum = 0
print "Welcome to Virtual McDonald's!"
print "Item: Meal/item: 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! ")
if itemnum == -1:
break
quantity = input("How many of this item do you want? ")
if itemnum == 1:
foodprice = quantity * num1
totalprice += foodprice
elif itemnum == 2:
foodprice = quantity * num2
totalprice += foodprice
elif itemnum == 3:
foodprice = quantity * num3
totalprice += foodprice
elif itemnum == 4:
foodprice = quantity * num4
totalprice += foodprice
elif itemnum == 5:
foodprice = quantity * num5
totalprice += foodprice
elif itemnum == 6:
foodprice = quantity * num6
totalprice += foodprice
elif itemnum == 7:
foodprice = quantity * num7
totalprice += foodprice
billtax = totalprice * tax
finalbill = totalprice + billtax
print "Your total bill without tax is... ", round(totalprice,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)
break
nextcustomer = raw_input("Is there another customer? (yes or no) ")
这能解决您的问题吗?
关于python - 带有预告片值的嵌套 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14553281/
所以我试图设置“内容”类的高度,但它似乎不起作用。我对嵌套 DIV 非常陌生,我已经尝试了我在谷歌搜索中发现的修复程序,但似乎没有任何效果。帮助?
好的,所以我一直在四处寻找,但找不到这个问题的答案。但是,我需要将一个 View 嵌套在另一个 View 中。 我有一个 $layout 正在使用我拥有的 default.layout Blade 文
好的,所以我一直在四处寻找,但找不到这个问题的答案。但是,我需要将一个 View 嵌套在另一个 View 中。 我有一个 $layout 正在使用我拥有的 default.layout Blade 文
基本上,我的问题很简单,但它需要知道 Struts 1.1 并且还活着的人。 我尝试构建的伪代码看起来像这样: IF element.method1 = true THEN IF element
我正在尝试将 Excel 嵌套 IF 语句转换为代码语言,但我不确定我是否正确执行此操作,希望能得到一些帮助 这是Excel语句: =IF(D3="Feather",IF(OR(I3>1000,R3=
如果我们创建两个或三个评论并对其进行多次回复,则“有用”链接在单击时会导致问题,它会对具有相同编号的索引执行 ng-click 操作,从而显示具有相同索引的所有文本。如何解决此嵌套问题,以便在单击链接
我在项目中使用Scala,想与Stripe集成,但它只提供Java API。例如,要创建 session ,我使用: val params = new util.HashMap[String, Any
以下代码有一个 Div,其中连续包含四个较小的 Div。四个 Div 中的每一个还包含一个较小的 Div,但此 Div 未显示。我尝试了各种显示和位置组合,看看 div 是否会出现。 classGoa
我在这里有一个问题,循环是: for (i=0; i < n; ++i) for (j = 3; j < n; ++j) { ...
我正在尝试编写代码来显示具有奇数宽度的形状。形状完成后,将其放置在外部形状内。用户将能够输入用于形状的字符和行数。我希望生成一个形状,并通过 for 循环生成一个外部形状。 ***** .
$(".globalTabs").each(function(){ var $globalTabs = $(this); var parent = $globalTabs.parent
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
所以我在这个问题上遇到了一些麻烦,因为变量 i。我只是不确定在第二个 while 循环中如何处理它。对于我的外循环,我知道它将运行 log_4(n^2) 次迭代。对于内部 while 循环,我计算的迭
我似乎找不到在枚举上应用多个 if/then 逻辑的工作方式。 anyOf 不应用条件逻辑,而是表示如果其中任何一个匹配则很好。 allOf 再次不应用条件逻辑,而是测试属性/必填字段的超集。 这是一
如何访问 ReaderT 的内部 monad。 在我的例子中,我有类型: newtype VCSSetupAction a = VCSSetupAction (ReaderT (Maybe VCSCo
这个问题在这里已经有了答案: Add leading zeroes/0's to existing Excel values to certain length (7 个回答) 7年前关闭。 我正在寻
我已经绑定(bind)了很多 AND/OR 函数的组合并且没有运气。 这是我需要创建的: 在 B 列中,我有公司 ID,范围从两个数字字符到六个数字字符。 我需要在 B 列中的每个公司 ID 之前的每
我是 VBA 新手,在尝试编写的宏中使用 If 语句时遇到了一些困难。每个月我都会收到一份 Excel 报告,其中列出了我们公司的哪些员工执行了某些任务。我正在编写的宏旨在将每个员工的数据复制并粘贴到
如果在 B 列中找到单元格 A1 中的值,则使用文本 321 填充除非在 C 列中找到单元格 A1 中的值,在这种情况下填充文本 121反而。如果单元格 A1 的内容不在 B 列或 C 列中,则使用
我有几十万个地址。其中一些在整数之后有粒子。如 4356 A Horse Avenue , 其他格式正常4358 Horse Avenue .有些有“A”,有些有“B”。我正在尝试删除整数和粒子之间的
我是一名优秀的程序员,十分优秀!