![](/img/trans.png)
[英]python: is there a function to unstring an equation read from a file
[英]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
但是此代碼將第一行打印兩次,第二行打印三次,依此類推。 相反,我希望將k1
, k2
和k3
作為變量,以便在這種情況下獲得:
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.