4 回答

TA貢獻1884條經驗 獲得超4個贊
關鍵是數字將以字符串形式從文件中出來,因此您必須先將它們轉換為浮點數,然后才能添加它們。
你可以這樣做:
with open("data.txt", "r") as f:
for line in f:
x, y = line.split(',')
sum_ = float(x) + float(y)
print('x= {}, y= {}, sum= {}'.format(x, y, sum_))
我之所以這么稱呼它,sum_是因為有一個名為 的內置函數sum()。

TA貢獻1858條經驗 獲得超8個贊
也許這可以幫助:
with open("text.txt", "r") as f:
data = [tuple(i.strip().split(",")) for i in f.readlines()]
sums = [float(i[0])+float(i[1]) for i in data]
print(sums)
這里發生了什么?
我循環遍歷每一行,創建一個由逗號分隔的數字元組
我將元組的每個元素加在一起制作一個總和數組
如果您想要的話,這里有一個襯里,因為為什么不呢:^)
print([float(i[0])+float(i[1]) for i in [tuple(i.strip().split(",")) for i in open("text.txt", "r").readlines()]])

TA貢獻1854條經驗 獲得超8個贊
只需越過線路并使用ast.literal_eval:
>>> import ast
>>> line = '5.2,4.4'
>>> x, y = ast.literal_eval(line)
>>> x, y, x+y
(5.2, 4.4, 9.600000000000001)

TA貢獻1794條經驗 獲得超8個贊
在讀取文件后執行任何操作之前將數字轉換為浮點數。你可以試試這個
f = open("data.txt", "r")
r = [x.split(",") for x in [line.rstrip('\n') for line in f]]
print(r)
#[['5.2', '4.4'], ['2.2', '7.2'],['3.6','6.9']]
results = [float(x[0]) + float(x[1]) for x in r]
print(results)
#[9.6, 9.4, 10.5]
添加回答
舉報