提问人:zacknight 提问时间:1/6/2023 最后编辑:logi-kalzacknight 更新时间:1/7/2023 访问量:65
访问列表并添加它们,python解决方案
Accessing list and adding them total, python solution
问:
研究所的食堂有一张物品价格表,例如:
- 萨摩萨: 15
- 闲置:30
- 玛姬:50
- 多萨,70岁
- ...
对于您必须编写的程序,请通过此语句在程序中设置菜单(随意添加更多项目)。
menu = [("Samosa", 15), ("Idli", 30), ("Maggie", 50), ("Dosa", 70), ("Tea", 10), ("Coffee", 20), ("Sandwich", 35), ("ColdDrink", 25)]
编写一个程序,在终端上接受用户的订单并计算账单。首先通过打印菜单来显示菜单。对于订购商品,用户输入商品编号和所需数量(例如,输入可以是:后跟)。程序应提示用户订购更多,直到他/她点击返回(没有任何数字) - 这是订单的结束。在表单中打印此订单的账单(对于上面的输入示例):3 1
1 5
Maggie, 1, Rs 50
Samosa, 5, Rs 75
TOTAL, 6 items, Rs 125
如何访问列表并获取输入并添加它们?
答:
0赞
logi-kal
1/7/2023
#1
首先初始化全局变量:
bill = []
total_quantity = 0
total_price = 0
在循环中,您将要求提供订单,如果它是空字符串,则退出循环:
order = input("Please specify an item number and a quantity: ")
if order == "" : break
然后,通过拆分空格前后的输入字符串来解析顺序:
(index_string, quantity_string) = order.split(" ")
现在访问变量并计算价格:menu
quantity = int(quantity_string)
item = menu[int(index_string)-1]
name = item[0]
unit_price = int(item[1])
price = unit_price * quantity
并更新全局变量:
bill.append("%s, %d, Rs %d" % (name, quantity, price))
total_quantity += quantity
total_price += price
最后,您可以打印收集的内容:
for string in bill :
print(string)
print("\nTOTAL, %d items, Rs %d" % (total_quantity, total_price))
这是最终代码:
menu = [("Samosa", 15), ("Idli", 30), ("Maggie", 50), ("Dosa", 70), ("Tea", 10), ("Coffee", 20), ("Sandwich", 35), ("ColdDrink", 25)]
print(menu)
bill = []
total_quantity = 0
total_price = 0
while True :
order = input("Please specify an item number and a quantity: ")
if order == "" : break
(index_string, quantity_string) = order.split(" ")
quantity = int(quantity_string)
item = menu[int(index_string)-1]
name = item[0]
unit_price = int(item[1])
price = unit_price * quantity
bill.append("%s, %d, Rs %d" % (name, quantity, price))
total_quantity += quantity
total_price += price
for string in bill :
print(string)
print("\nTOTAL, %d items, Rs %d" % (total_quantity, total_price))
下一个:Rust 上窗口的钥匙钩
评论