亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python中有沒有一種方法可以從字符串中讀取兩個浮點數

Python中有沒有一種方法可以從字符串中讀取兩個浮點數

RISEBY 2023-10-11 15:38:01
我正在讀取一個文本文件,其中每行包含兩個用逗號分隔的浮點數(x,y),如下所示:5.2,4.42.2,7.23.6,6.9我需要從每行讀取每兩個浮點數,對它們進行一些計算,例如第一行,我有 5.2 + 4.4,然后在這一端打印它,如下所示:x = 5.2,y = 4.4 和 sum = 9.6這是我嘗試過的:with open("data.txt", "r") as f:    myFile = f.read()    a = myFile.splitlines()    (here i cant find how to read the floats to do the sum)    print ('x= {}, y= {}, sum= {}'.format(x, y, sum))
查看完整描述

4 回答

?
慕村9548890

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()。


查看完整回答
反對 回復 2023-10-11
?
猛跑小豬

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()]])



查看完整回答
反對 回復 2023-10-11
?
嗶嗶one

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)


查看完整回答
反對 回復 2023-10-11
?
幕布斯7119047

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]


查看完整回答
反對 回復 2023-10-11
  • 4 回答
  • 0 關注
  • 201 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號