我在尝试为“杂货清单”分配值时遇到麻烦
具体来说,给定一个.txt文档,其中包含:
Grocery
Apple: 12
egg: 10
milk: 11
我正在尝试打开文件,并计算总价。到目前为止,我所拥有的:
shoplist={}
line=0
for item in open ("lab3demo.txt","r"):
item= item.split(":")
line+=1
if line ==1:
continue
print (item)
到目前为止,它确实返回了['Apple',12\r\n']
,等等。
但是,我随后尝试将价格指定为值price = shoplist[item]
,这是行不通的。由于我需要它来输出
item : price
item : price
item : price
total: total price
我无法做到。我应该怎么做?
我曾经尝试从字典开始,但是距离还不够远。
答案 0 :(得分:0)
我认为,您要尝试做的是:
item
和price
变量。item
作为键,并以price
作为对应值。如果是这样,您就错了两件事。首先,在这里:
item= item.split(":")
这只是将item
变成两个值对。您希望在两个单独的变量item
和price
中使用这两个值,因此必须告诉Python:
item, price = item.split(":")
然后:
然后我尝试将价格指定为值
price = shoplist[item]
您已经落后了。该操作将在item
中查找shoplist
,并将结果值存储在price
中。但是您想将item
和price
添加到shoplist
上:
shoplist[item] = price
完成此操作后,在循环结束时,您将有一个像这样的字典:
{'Apple': '12', 'egg': '10', 'milk': '11'}
您仍然需要弄清楚如何:
item
的{{1}}中的每个price
和items
进行循环。shoplist
和item
中的每一个。price
从字符串转换为price
。int
值添加到price
total
。但是您应该能够使所有工作正常进行。