鱼C论坛

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

[已解决]求大佬帮忙 求和问题

[复制链接]
发表于 2020-11-16 13:19:11 | 显示全部楼层 |阅读模式

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

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

x
使用python对从文件中加载的整数求和。
文件如下:文本文件中每行都包含一个整数,但文件中也包含一些空行。以#开头的行是一个注释,在整数计数时应该忽略它。加载文件时,必须计算所有整数的和并在控制台上显示。
9
-1
#-11

-13
16
#8

9
20
8
-2

最佳答案
2020-11-16 13:45:53


参考代码:
with open('文件名',encoding='utf-8') as file:
    data = file.read().splitlines()
    result = 0
    for i in data:
        if i != '' and i[0] != '#':
            result += int(i)
print(result)

精简版:
with open('文件名',encoding='utf-8') as file:
    result = sum([int(i) for i in file.read().splitlines() if i != '' and i[0] != '#'])
print(result)

如果编码报错,那么把 open 里面的参数 encoding = 'UTF-8' 去掉试试哈~


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-16 13:45:53 | 显示全部楼层    本楼为最佳答案   


参考代码:
with open('文件名',encoding='utf-8') as file:
    data = file.read().splitlines()
    result = 0
    for i in data:
        if i != '' and i[0] != '#':
            result += int(i)
print(result)

精简版:
with open('文件名',encoding='utf-8') as file:
    result = sum([int(i) for i in file.read().splitlines() if i != '' and i[0] != '#'])
print(result)

如果编码报错,那么把 open 里面的参数 encoding = 'UTF-8' 去掉试试哈~


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-16 14:04:40 | 显示全部楼层
f = open('data.txt', encoding = 'utf-8')
result = 0
for each in f:
    try:
        result += int(each)
    except ValueError:
        pass
print(result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 18:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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