Mur*_*dam 3 python arrays file calculation
如何计算.txt文件中的数字总和文件中的数据格式为:
7
8
14
18
16
8
23
...
Run Code Online (Sandbox Code Playgroud)
我从文件中读取数据并将每个行值分配给'line'可变,但我希望得到类似的东西: result = 7+8+14+...
f = open('data.txt', 'r') #LOOP AND READ DATA FROM THE FILE
for line in f:
code
Run Code Online (Sandbox Code Playgroud)
这是我现在能想到的最紧凑的代码:(更新到最后处理n,谢谢@JonClements!)
with open('file.txt', 'r') as fin:
ans = sum(int(line) for line in fin if line.strip().isnumeric())
Run Code Online (Sandbox Code Playgroud)
对于您拥有的代码结构,您也可以这样做:
f = open('data.txt', 'r')
ans = 0
for line in f:
try:
ans += int(line.strip())
except ValueError:
pass
Run Code Online (Sandbox Code Playgroud)
编辑: 由于与'n'的混淆已被清除,第一个例子可以很简单
with open('file.txt', 'r') as fin:
ans = sum(int(line) for line in fin)
Run Code Online (Sandbox Code Playgroud)
甚至这个单线:
ans = sum(int(line) for line in open('file.txt', 'r'))
Run Code Online (Sandbox Code Playgroud)
但文件处理存在一定的风险,因此不强烈建议.