Python在文件中分配变量

时间:2014-12-14 03:08:51

标签: python variables

我有一个文本文件,上面写着:

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;它的价格。

1 个答案:

答案 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

https://docs.python.org/2/tutorial/datastructures.html