这是我遇到的问题。我有一个仅包含数字的文件,想将每一行转换为浮点数,然后将每一行读取并存储为变量,以便以后可以使用它们进行数学运算。
这是我当前的代码:
file = open("testfile.txt", "r")
var1 = file.readline(1)
var2 = file.readline(2)
var3 = file.readline(3)
var4 = file.readline(4)
var5 = float(var1) + float(var2) + float(var3) + float(var4)
print(var5)
每次我尝试运行它时,它都会返回错误“无法将字符串转换为浮点数”。
任何和所有建议将不胜感激! 谢谢,祝你有美好的一天!
编辑
根据要求,这是我使用的测试文件:
1
6
20
39
答案 0 :(得分:3)
编辑:如@Jon Clements所述。
您不想为int[] num = { 7, 2, 6, 4, 12, 6, 1, 8, 49, 3 };
int lowest = num[0];
int highest = num[0];
// already used [0] so start at [1]
for (int i = 1; i < num.length; i++) {
if (num[i] < lowest) {
lowest = num[i];
}
// also need two comparisons and not being lowest does not mean it is the highest
if (num[i] > highest) {
highest = num[i];
}
}
方法传递数字,因为它只会读取那么多字节和换行符。
此外,除非您知道行数,否则可能要使用readline
之类的东西来存储浮点数,如下所示:
list
答案 1 :(得分:0)
readline()函数的第一个arg是要读取的最大字符,所以这是我固定代码的方式:
file = open("testfile.txt", "r")
var1 = file.readline().strip()
var2 = file.readline().strip()
var3 = file.readline().strip()
var4 = file.readline().strip()
var5 = float(var1) + float(var2) + float(var3) + float(var4)
print(var5)
注意:strip方法是从行中删除\ n。