将所有值连续存储在字典中

时间:2018-11-13 02:51:18

标签: python loops dictionary while-loop running-total

我希望用户从商店中挑选商品,并且希望使用循环来跟踪价格(字典中的值)以进行累加,并在用户每次输入后保持运行总计。如果用户输入了词典中没有的内容,则应该说它不存在。 预先感谢您的帮助

def main():
    machine= {"1.shirt: $":10, "2.pants: $":15, "3.sweater: $":20,"4.socks: $":5, "5.hat: $":7}


    for key, value in machine.items():
       print(key,value)
       print("------------------------------")
       selection = input("Please choose the number of the item you would like to purchase: ")

    total=0
    for i in machine:
       if selection=="1":
           print("You chose shirt and your total is: $", machine["1.shirt: $"])
       elif selection=="2":
           print("You chose shirt and your total is: $", machine["2.pants: $"])
       elif selection=="3":
           print("You chose shirt and your total is: $", machine["3.sweater: $"])
       elif selection=="4":
           print("You chose shirt and your total is: $", machine["4.socks: $"])
       elif selection=="5":
           print("You chose shirt and your total is: $", machine["5.hat: $"])
      else:
           print("Your option does not exist. Your total is: ",total)

1 个答案:

答案 0 :(得分:1)

每次进行选择时,您都应该更新合计的值。参见下面的示例

def main():
    machine= {"1.shirt: $":10, "2.pants: $":15, "3.sweater: $":20,"4.socks: $":5, "5.hat: $":7}
    total=0
    for key, value in machine.items():
       print(key,value)
       print("------------------------------")
    while True: # Keep Looping
       selection = input("Please choose the number of the item you would like to purchase: ")

       if selection=="1":
           total += machine["1.shirt: $"];
           print("You chose shirt and your total is: $", total)
       elif selection=="2":
           total += machine["2.pants: $"];
           print("You chose shirt and your total is: $", total)
       else:
           print("Your option does not exist. Your total is: ",total)
           break