我正在进行一项任务,要求我显示菜单,然后提示客户选择玫瑰花型和一定数量的玫瑰花。我有一个累积变量来接受并用于最终的交易计算。但是,当客户选择订购更多玫瑰时,如何让它显示未累积/输入的变量和价格?
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(您已经选择了4个红玫瑰,价格为8.00美元),那么R,4,N(您选择了8朵红玫瑰,价格为24.00美元)。红玫瑰每个2.00美元。
答案 0 :(得分:0)
这是因为每次循环都会将玫瑰numRedRosesOrdered
的运行总数添加到totalPrice
,这本身已经是一个运行总计。将numRedRosesOrdered
更改为:
numRedRosesOrdered = int(input("How many red roses would you like to order?"))
...然后有一个单独的变量,比如你所定义的totalNumRedRoses
:
totalNumRedRoses += numRedRosesOrdered
这是您在摘要印刷中使用的内容:
print("You have selected {amount:.0f} red roses for a price of ${price:.2f}" .format(amount = totalNumRedRoses , price = totalPrice))