我正在做一项任务,要求我显示一个菜单,然后提示客户选择一种玫瑰类型和选择的玫瑰花数量。我有一个累积变量可以接受,并用于最终的事务计算。但是,当客户选择订购更多玫瑰时,我如何让它显示未累计/输入的变量和价格?
elif roseTypeOrdered == 'r' or roseTypeOrdered == 'R':
numRedRosesOrdered += int(input("How many red roses would you like to order?"))
totalPrice += numRedRosesOrdered * STEM_RED_ROSE_PRICE
print("You have selected {amount:.0f} red roses for a price of ${price:.2f}" .format(amount=numRedRosesOrdered, price=totalPrice))
# Make sure you have a check to see if the input only Y or N
transactionActive = input("Would you like to order more roses? (Y-yes, N-no)")
if transactionActive == 'N' or transactionActive == 'n':
break如上所述,如果我输入R,4,Y(你选择了8美元的4朵红玫瑰),那么R,4,N(你选择了24美元的8朵红玫瑰)。红玫瑰每朵2美元。
发布于 2018-02-13 03:33:38
之所以会发生这种情况,是因为每次循环都会将玫瑰numRedRosesOrdered的运行总数添加到totalPrice中,而这个总数本身就已经是一个运行总数。将numRedRosesOrdered更改为:
numRedRosesOrdered = int(input("How many red roses would you like to order?"))然后...and有一个单独的变量,比如totalNumRedRoses,您可以这样定义它:
totalNumRedRoses += numRedRosesOrdered这是您将在摘要打印中使用的内容:
print("You have selected {amount:.0f} red roses for a price of ${price:.2f}" .format(amount = totalNumRedRoses , price = totalPrice))https://stackoverflow.com/questions/48753948
复制相似问题