我有一个文本文件,上面写着:
eggs,2.99
bacon,4.99
beer,5.96
raisins,3.81
oatmeal,4.13
lollipop,0.99
mints,1.13
然后我有以下代码询问他们想要哪个项目 如果它是一个项目,它打印工作。
import os, time
f = open("Products.txt", "r")
def choose():
itemlist = []
for line in f:
parts = line.split(",")
item = parts[0]
price = parts[1]
itemlist.append(parts[0])
print '{:<15} {:>2}'.format(item, price)
print("\nplease choose an item")
print itemlist
answer = raw_input()
if answer in itemlist:
print("WORK")
choose()
该程序就像一个收银机,您可以选择一个项目,但我希望在选择一个项目时保存价格。因此,如果设置了多个项目,它将添加价格。我不知道如何在他们输入物品时找到价格,所以我想找到一种方法来分配例如&#34; eggs&#34;它的价格。
答案 0 :(得分:1)
你对数据结构了如指掌,但为此最好使用字典。
import os, time
f = open("Products.txt", "r")
def choose():
items = {}
for line in f:
item, price = line.split(",")
items[item] = parts[price]
print '{:<15} {:>2}'.format(item, price)
print("\nplease choose an item")
print itemlist
answer = raw_input()
if answer in items.keys():
print("WORK")
choose()
现在为什么这样更好?因为您可以轻松地重新分配(即items["eggs"] = 1.05
)