python字典套字典??

此篇博客介绍了如何使用Python读取'salesdata.txt'和'pollution.txt'文件,通过函数逐行解析数据,处理信息并计算销售总价、平均价,以及污染数据的平均值和最严重情况。涉及字典操作和文件I/O技巧。
摘要由CSDN通过智能技术生成

在这里插入图片描述
1 按行读取
2 分割
3 切片 切掉’\n’
4 字典yx kay:月份 value 字典 存每个商品的的信息
5 字典 mp 存每个商品的信息

def read():
    number=eval(input())
    return number
def gets():
    s=input()
    return s
def cout(x):
    print(x)
def main():
    f=open('salesdata.txt','r',encoding='utf-8')
    yx={ }
    mp={ }
    while True:
        k=f.readline()
        if not k:
            break
        k=k.split('|')
        if k[2][-1]=='\n':
            k[2]=k[2][0:-1]
        if k[0] in yx:
            if k[1] in yx[k[0]]:
                yx[k[0]][k[1]]=yx[k[0]][k[1]]+eval(k[2])
            else:
                yx[k[0]][k[1]] = eval(k[2])
        else:
            yx[k[0]]={
                k[1]:eval(k[2])
            }
        if k[1] in mp:
            mp[k[1]]=mp[k[1]]+eval(k[2])
        else:
            mp[k[1]]=eval(k[2])
    for i in yx.keys():
        sum=0
        c=0
        for l,j in yx[i].items():
            c=c+1
            sum=sum+j
        print("{}销售总价{},平均价{}".format(i,format(sum,'.2f'),format(sum/c,'.2f')))
    cout("----------")
    for i in mp.keys():
        print("商品{}销售总额{}".format(i,mp[i]))
    f.close()
    exit(0)
main()

在这里插入图片描述
这个就比较简单了

def read():
    number=eval(input())
    return number
def gets():
    s=input()
    return s
def cout(x):
    print(x)
def main():
    f=open('pollution.txt','r',encoding='utf-8')
    str=''
    zsum=0
    xsum=0
    k=1
    lom=f.readline()
    lom=f.readline().split(':')
    maxa=eval(lom[-1])+eval(lom[-2])
    zsum=zsum+eval(lom[-2])
    xsum=xsum+eval(lom[-1])
    for i in lom:
        str=str+i
    while True:
        k=k+1
        lom=f.readline()
        if not lom:
            break
        tom=lom.split(':')
          # if '张三' in tom[0]:
        ak=eval(tom[-1])+eval(tom[-2])
        zsum =zsum +eval(tom[-2])
        xsum =xsum+ eval(tom[-1])
        if ak>maxa:
            maxa=ak
            str=lom
    cout("早污染平均:")
    print(format(zsum/k,'.2f'))#'%.2f' % f
    cout("晚污染平均:")
    print(format(xsum/k,'.2f'))
    cout("污染最严重的信息:")
    cout(str)
    f.close()
    exit(0)
main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛郎恋刘娘,刘娘念牛郎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值