簡體   English   中英

Python:從文件列表中讀取變量以計算方程式

[英]Python: read a variable from list of a file in order to calculate equation

我必須計算不同的方程式(我們假設3個反應)。 每個變量使用一個不同的變量,我必須從文件list.txt讀取此變量。 所以我的想法是:

f = open('list.txt')
lines = f.readlines()

k1 = lines[0]

r1 = k1 * 2  # this is first equation 
print(r1) 

k2 = lines[1]  # second equation
r2 = k2 * 2
print(r2) 

k3 = lines[2]
r3 = k3 * 3
print (r3) 

我的清單是:

1
2
3

但是此代碼將第一行打印兩次,第二行打印三次,依此類推。 相反,我希望將k1k2k3作為變量,以便在這種情況下獲得:

r1 = 2
r2 = 6
r3 = 9.

如何獲得此結果?

很顯然在這里 ,如果你閱讀readlines方法文件(),它會返回一個字符串。 因此,當您要進行數學計算時,需要先將其轉換為整數

f=open('list.txt')
lines=f.readlines()

k1=int(lines[0]) # convert to integer

r1=k1*2  #this is first equation 
print (r1) 

k2=int(lines[1])  #second equation
r2=k2*2
print (r2) 

k3=int(lines[2])
r3=k3*3
print (r3)

在字符串上使用*運算符時,會將它們乘以多個。 例如: "a"*3將是"aaa" ,當您在數字上使用它時,將執行數學運算。 例如: 3*6=18

每行都是字符串,因此您需要將該行強制轉換為int: int(line)

另外,您應該考慮使用地圖功能。

它將使您的生活更輕松。

map對列表中的每個項目執行給定的功能。

例如:

result = list(map(lambda x: int(x) * 3, lines))

它采用列表中的每個項目,將其強制轉換為int,然后乘以3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM