python - 无法赋值
问题描述
我在尝试为“杂货清单”分配值时遇到问题
具体来说,给定一个 .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']
等。
但是,我随后尝试将价格分配为 value price = shoplist[item]
,但这是行不通的。因为我需要它来输出
item : price
item : price
item : price
total: total price
这是我做不到的。我应该怎么做?
我曾尝试从字典开始,但还没有走得太远。
解决方案
我认为你想要做的是:
- 将行拆分为
item
和price
变量。 - 将其添加到字典中,
item
作为键,并price
作为相应的值。
如果是这样,你有两件事错了。首先,这里:
item= item.split(":")
这只是item
形成一对两个值。您希望将这两个值放在两个单独的变量中,item
并且price
,因此您必须告诉 Python:
item, price = item.split(":")
接着:
然后我试图将价格分配为一个值
price = shoplist[item]
你已经把它弄反了。item
这将在 中查找shoplist
,并将结果值存储在price
. 但是您想将and添加到:item
price
shoplist
shoplist[item] = price
完成此操作后,在循环结束时,您将拥有这样的 dict:
{'Apple': '12', 'egg': '10', 'milk': '11'}
您仍然需要弄清楚如何:
- 循环遍历每个
item
和price
中items
的shoplist
。 - 以正确的格式打印
item
出来price
。 - 将每个
price
字符串从字符串转换为int
. - 将每个
price
值添加到total
- 以正确的格式打印出
total
循环之后。
但是你应该能够让这一切正常工作。
推荐阅读
- c# - 如何将 JSON 数据存储到 IEnumerable 并循环遍历它?
- powerbi - 如何编写 DAX 以使用切片器日期过滤度量
- r - 使用管道工以二进制形式发送 R(异构)列表对象作为对 REST 请求的回复
- node.js - 如何在 Framework7 CLI Cordova 中创建新端口?
- excel - 估计偏态分布中的百分位数(不需要精确)
- java - SSLHandshakeException:收到致命警报:handshake_failure(忽略密码)
- azure - 导出内存转储 Azure Kubernetes
- search - 在这种情况下,有人可以帮助我了解 Solr 搜索行为吗?
- mysql - Mysql从一列中找到最小的n
- haskell - 是否有海龟函数或其他 Haskell 抽象用于使用 .&& 加入命令