是否有任何方法来求和所有列表值是从字典?



我正在尝试制作一个程序,它将汇总我选择的所有价格。下面是代码:

Menu_list = {"Cola" : 500,
"Cheese" : 400,
"Burger" : 1000,
"Sprite" : 500,
"Ice Cream" : 300}
Order_list = []
print(Menu_list)
while True:
a = input()
Order_list.append(Menu_list.get(a))
print(sum(Order_list))
  1. 我想使while循环在我键入菜单时执行。如果不是,我想退出while循环并返回Order_list的总和。所以我尝试了"而一个不在菜单列表",但它不会工作。
  2. 我想从字典到列表中获取特定值,并将所有列表值相加。但是它会显示"TypeError:不支持的操作数类型+:'int'和'NoneType'"

这两个问题有什么解决办法吗?

下面的代码将完成这个任务:

Menu_list = {"Cola" : 500,
"Cheese" : 400,
"Burger" : 1000,
"Sprite" : 500,
"Ice Cream" : 300}
Order_list = []
print(Menu_list)
a = "Start"
while a != "End":
a = input()
if a in Menu_list:
Order_list.append(Menu_list[a])
print("Sum of the list: {}".format(sum(Order_list)))
  1. 有时需要结束While循环。这是通过检查输入- fi其"End",然后我们结束循环来实现的。

  2. 您还需要检查输入是否有效,if a in Menu_list:

第一个问题:你需要设置变量"a"到字典中的初始值。否则,while循环根本不会执行。例如:

a = "Cola"
while a not in Menu_list:
...

对于第二个问题,如果a不在菜单列表中,请确保代码不会在订单列表中添加价格,因为这样您的订单列表中就会出现None。这样的:

if a in Menu_list:
Order_list.append(Menu_list.get(a))

最新更新