3 回答
TA贡献1963条经验 获得超6个赞
这是简单的解决方案。如果您的值以逗号分隔,则可以使用 split() 方法:
f = open("data.txt", "r")
sumofn = 0
for i in range(1, 10):
for x in f.readlines():
x = int(x)
sumofn += x
print(sumofn)
这里也是拆分()方法。如果您的值以逗号分隔,以空格分隔,则使用它:
f = open("data.txt", "r")
sumofn = 0
for i in range(1, 10):
for x in f.readlines():
y = x.split(',')
for x in y:
x = int(x)
sumofn += x
print(sumofn)
TA贡献2080条经验 获得超4个赞
我猜你的文件有int值只是因为你使用了 转换 。在这种情况下,您可以简单地使用正则表达式模式(而不是 ),但以下代码涵盖了文件包含浮点值的情况。int()r'\d+'r'\d+(\.\d+)?'
import re
result = 0
with open('data.txt', 'r') with f:
line = f.readline()
match = re.search(r'\d+(\.\d+)?', line)
if match:
result += float(match.group())
print(result)
请试一试。
TA贡献1864条经验 获得超2个赞
正则表达式是你最好的朋友
with open('data.txt', 'r') as f: print(sum([int(i) for i in f.read().split('\n') if i != '']))
顺便说一句,“\n”表示它是一个换行符;输入您在写入文本文件时按下。因为当您读取文件时,它具有“\n”。
添加回答
举报