鱼C论坛

 找回密码
 立即注册
查看: 2005|回复: 2

[已解决]pta的一道题,关于文件的

[复制链接]
发表于 2021-2-1 20:57:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用水量文件"water.txt"的第一列为账号,下面是每个月的用水量(后一个数-前一个数),共十二个月。每立方米需付1.05元。编程计算每户一年的水费。@ 。程序压缩后(zip格式)以文件形式上传!

0000359333 772 789 806 847 880 901 950 991 1022 1043 1064 1089 1114

0000359305 121 132 145 156 168 179 192 206 219 230 246 258 273

0000359708 1008 1046 1102 1167 1209 1255 1311 1362 1407 1453 1512 1563 1604

0000359504 541 567 590 622 651 689 701 732 758 775 796 814 847

0000359209 401 412 441 466 479 490 508 522 541 572 603 637 666。
最佳答案
2021-2-2 09:12:13
f = open('water.txt',encoding='utf-8')

userlst = [i.split(' ') for i in f if i != '\n']

for i in range(len(userlst)):
    for j in range(len(userlst[i])):
        userlst[i][j] = int(userlst[i][j])

userdict = {}

for i in range(len(userlst)):
    usersum = 0
    for j in range(len(userlst[i])):
        if j > 1:
            new = userlst[i][j] - userlst[i][j-1]
            usersum+=new
        userdict[userlst[i][0]] = round(usersum*1.05,2)
    print(userlst[i][0],round(usersum*1.05,2))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-2 09:12:13 | 显示全部楼层    本楼为最佳答案   
f = open('water.txt',encoding='utf-8')

userlst = [i.split(' ') for i in f if i != '\n']

for i in range(len(userlst)):
    for j in range(len(userlst[i])):
        userlst[i][j] = int(userlst[i][j])

userdict = {}

for i in range(len(userlst)):
    usersum = 0
    for j in range(len(userlst[i])):
        if j > 1:
            new = userlst[i][j] - userlst[i][j-1]
            usersum+=new
        userdict[userlst[i][0]] = round(usersum*1.05,2)
    print(userlst[i][0],round(usersum*1.05,2))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-2 11:27:07 | 显示全部楼层
本帖最后由 qq1151985918 于 2021-2-2 12:36 编辑
with open("water.txt","r",encoding = "utf-8") as f:
    data = f.readlines()

userdata = {}
for each in data:
    userlist = each.split()
    if userlist:
        userdata[userlist[0]] = list(map(float,userlist[1:]))
for key,value in userdata.items():
    num = value[-1] - value[0]
    print("用户%s一年的水费为%.2f元"%(key,num * 1.05))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 15:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表