鱼C论坛

 找回密码
 立即注册
查看: 2238|回复: 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


参考代码:

  1. with open('文件名',encoding='utf-8') as file:
  2.     data = file.read().splitlines()
  3.     result = 0
  4.     for i in data:
  5.         if i != '' and i[0] != '#':
  6.             result += int(i)
  7. print(result)
复制代码


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


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


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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


参考代码:

  1. with open('文件名',encoding='utf-8') as file:
  2.     data = file.read().splitlines()
  3.     result = 0
  4.     for i in data:
  5.         if i != '' and i[0] != '#':
  6.             result += int(i)
  7. print(result)
复制代码


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


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


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-16 14:04:40 | 显示全部楼层
  1. f = open('data.txt', encoding = 'utf-8')
  2. result = 0
  3. for each in f:
  4.     try:
  5.         result += int(each)
  6.     except ValueError:
  7.         pass
  8. print(result)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-29 19:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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