Python代码可根据售出的书籍数量查找所有人

苹果

嗨,我在尝试寻找以下问题的解决方案时陷入了下面的代码:根据售出的书籍数量查找所有人。

以下是文件1711.txt的内容

  • 大卫图书05沃尔玛
  • 艾米莉书10克罗格
  • 杰森食品11目标
  • 大卫食品20克罗格
  • eva布13目标
  • 大卫书5沃尔玛

输出应该是这样的:大卫卖了10本书给沃尔玛

  • eva卖出13块布瞄准

  • 大卫卖给克罗格20种食物

以下是我编写的代码,请协助我提供正确的代码以显示正确的结果,谢谢!

d={}
p={}
q={}

with open("1711.txt","r") as f:
    for line in f:
        a=line.split()
        l,m,n,o=str(a[0]), str(a[1]), int(a[2]), str(a[3])
        d.setdefault(l,[]).append(n)
        p.setdefault(m,[]).append(n)
        q.setdefault(o,[]).append(n)

    d=dict((key,sum(val)) for key,val in d.items())
    print (d)
    print("----------------------")
    p=dict((keys,sum(values)) for keys,values in p.items())
    print (p)
    print("--------------------")

    q=dict((keeys,sum(valu)) for keeys,valu in q.items())
    print (q)
    print("----------------------------")

    for k, v in d.items():
        print("number of itmes sold by {} is {}".format(k,v))
    print("------------------------------")

    for k, v in q.items():
        print("number of itmes in {} is {}".format(k,v))
    print("------------------------------")

    for k, v in p.items():
        print("total number of {} sold is {}".format(k,v))
    print("------------------------------")
格雷·亨斯利

听起来好像您想要一些嵌套的字典。顶层密钥应具有所有名称的键,而值应是另一本字典。

这些字典应该具有项目的键,并且值应该是另一个字典。

最后,这些词典应该具有包含商店的键,并且值应该是已出售给该商店的编号。

因此,如果您去了:sales_dict [“ david”] [“ book”] [“ target”],它将为您吐出10。

编辑:这是创建字典的要点。如果您仍然遇到问题,我认为您应该参考https://docs.python.org/3/tutorial/datastructures.html#dictionaries

d = {}
for line in f:
      a=line.split()
      l,m,n,o=str(a[0]), str(a[1]), int(a[2]), str(a[3])
      if l not in d:
            d[l] = {}
      if m not in d[l]:
            d[l][m] = {}
      if n not in d[l][m]:
            d[l][m][n] = 0
      d[l][m][n] += int(o)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章