2017-07-19 32 views
0

以下操作返回-0.20這是很好的閱讀:操作從一個文件

a=[1.,5] 
x=a[0] 
y=a[1] 
z=(-1*x)/(x*y) 
print ("{0:.2f}".format(z)) 

然而,當我從文件中讀取相同的數據這是行不通的。爲什麼?
類型錯誤:不支持的操作數類型(S)爲/: '海峽' 和 '海峽'

my_file=open("tmp.txt") 
for lines in my_file: 
    x=lines.split() 
    x0=x[0] 
    x1=x[1] 
print x0,x1 
y=(-1*x1)/(x0+x1) 
+0

值得注意的是,你的錯誤信息告訴你到底發生了什麼錯誤:你試圖分割兩個字符串 – Jacob

回答

1

你必須變量轉換爲整數:

x0 = int(x[0]) 
x1 = int(x[1]) 

此外,循環復位變量x0x1每個循環,因此y的值將僅基於最後一行。

+0

投射變量可以解決錯誤。謝謝。 – Fardin