我已經為此作業了一段時間。我邁出了一小步,但被卡住了。
txt 檔案包含如下所示的浮點值,例如:
2921.492649999950 5520.499056604050 2670.121720935130 -3.54035405410219 4.39482975106974 -5.18433931744563
1975.765991528470 6361.404021360910 1343.558197474950 -4.29247850018471 2.56997398564163 -5.80254821596864
我的代碼應該做的是讀取一行上的前三個數字,將它們平方,然后將它們相加,然后對同一行上的下三個數字執行相同的操作。
示例:第一行有:ab -c, d, -e, -f => a^2 b^2 c^2 = 變數 1
=> d^2 e^2 f^2 = 變數 2
然后對下一行重復,然后對檔案中的每一行重復。
我正在嘗試為一個非常簡單的案例執行此操作,因為我很難理解如何處理從檔案中讀取和操作資料。我迷失了 int、float、str 和錯誤訊息等。
我的程式正在做的是逐位讀取每個(浮點)數字,而不是我想要的整個十進制數字,并且需要一些幫助。
我需要保留數字上的所有小數位。
謝謝
fp = open('ISS TEST Numbers.txt', "r")
line = fp.readline()
print( float(line[0])**2)
n = 0
while n <= len(line):
print(len(line))
cnt = 1
print( float(line[0])**2 float(line[1])**2 float(line[2])**2 )
print(float(line[6]) ** 2 float(line[8]) ** 2 float(line[10]) ** 2)
while line:
print(line.strip())
line = fp.readline()
cnt = 1
n = n 1
fp.close()
uj5u.com熱心網友回復:
您可以使用以下命令打開和讀取檔案
with open('ISS TEST Numbers.txt', "r") as in_file : text_numbers = in_file.read()
然后從字串中提取數字,為每一行創建一個數字串列
num_by_line = [[float(num) for num in line.split()]
for line in text_numbers.split("\n")]
最后你可以遍歷每個串列,總結平方
variables = [[sum(list_num[3*y x]**2 for x in range(3))
for y in range(len(list_num)//3)]
for list_num in num_by_line]
variables使用我們獲得的示例檔案進行列印
[[46140579.14257951, 58.72600952769815], [46176261.00626936, 58.69970376006354]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/468168.html
