【发布时间】:2021-12-17 11:44:36
【问题描述】:
我们需要从名为 Initial_inventory-1.txt 的同一个文本文件中创建两个字典,一个用于价格,另一个用于数量。两个字典都将产品名称作为字典中的键。
我的输出给出了一个字典,其中包含名称、价格,然后是名称的第一个字母,我不知道为什么。两个字典都会发生这种情况。
def read_file(file_name, prices, quantities):
file = open(file_name, 'r')
for line in file:
product = line.strip('\n').split(';')
name, price = product[0], product[1]
prices[name] = price
for price in product[0]:
prices.setdefault(price, []).append(name)
name, quantity = product[0], product[2]
quantities[name] = quantity
for quantity in product[0]:
quantities.setdefault(quantity, []).append(name)
print(prices)
print(quantities)
主要功能:
def main():
#init dictionaries
prices = {}
quantities = {}
#read_file
read_file("initial_inventory-1.txt", prices, quantities)
main()
任务还有更多内容,这就是为什么它们在这些功能中,我无法摆脱它们。提前谢谢!
【问题讨论】:
-
product[0]是一个字符串。你觉得for price in product[0]是做什么的? -
在分配
name和price后尝试打印出来,也许你会自己发现问题。
标签: python loops file dictionary