从文件中读取值

我的任务是从,txt文件中读取10个数字,然后打印它们的总和:


f = open("data.txt", "r")

sumofn=0

for i in range(1, 10):

    x = f.readline(i)

    x = int(x)

    sumofn += x


print(sumofn)

不幸的是,我得到这个错误:


值错误: 以 10 为基数的 int() 的无效文本:“\n”


明月笑刀无情
浏览 91回答 3
3回答

神不在的星期二

这是简单的解决方案。如果您的值以逗号分隔,则可以使用 split() 方法:f = open("data.txt", "r")sumofn = 0for i in range(1, 10):    for x in f.readlines():            x = int(x)            sumofn += xprint(sumofn)这里也是拆分()方法。如果您的值以逗号分隔,以空格分隔,则使用它:f = open("data.txt", "r")sumofn = 0for i in range(1, 10):    for x in f.readlines():        y = x.split(',')        for x in y:            x = int(x)            sumofn += xprint(sumofn)

犯罪嫌疑人X

我猜你的文件有int值只是因为你使用了 转换 。在这种情况下,您可以简单地使用正则表达式模式(而不是 ),但以下代码涵盖了文件包含浮点值的情况。int()r'\d+'r'\d+(\.\d+)?'import reresult = 0with open('data.txt', 'r') with f:    line = f.readline()    match = re.search(r'\d+(\.\d+)?', line)    if match:        result += float(match.group())print(result)请试一试。

慕斯王

正则表达式是你最好的朋友with open('data.txt', 'r') as f:     print(sum([int(i) for i in f.read().split('\n') if i != '']))顺便说一句,“\n”表示它是一个换行符;输入您在写入文本文件时按下。因为当您读取文件时,它具有“\n”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python