【发布时间】:2018-05-08 15:34:46
【问题描述】:
import scipy as sp
atomos=open("Átomo.txt", 'r')
deltaX=[]
deltaY=[]
deltaZ=[]
d=0
def dist(xf, xi, yf, yi,zf, zi):
d=sp.sqrt((xf-xi)*(xf-xi)+(yf-yi)*(yf-yi)+(zf-zi)*(zf-zi))
return d
for colunas in atomos:
coluna_limpa=colunas.strip().split("\t")
deltaX.append(coluna_limpa[1])
deltaY.append(coluna_limpa[2])
deltaZ.append(coluna_limpa[3])
print(deltaX, deltaY, deltaZ)
d= dist(deltaX[0], deltaX[9],deltaY[0], deltaY[9], deltaZ[0], deltaZ[9] )
print("A distância do segmento formado pelos atomos é de ", d)
File "<ipython-input-5-e2b6e08387d0>", line 11, in dist
d=sp.sqrt((xf-xi)*(xf-xi)+(yf-yi)*(yf-yi)+(zf-zi)*(zf-zi))
TypeError: unsupported operand type(s) for -: 'str' and 'str'
【问题讨论】:
-
显然这些变量引用的对象是字符串,所以你不能减去它们。也许您想先将它们转换为数字。由于您没有说明您的程序应该做什么,我只能猜测。
-
看起来您正在尝试将数学运算应用于字符串,因此会出错
-
如果您可以深入了解 Átomo.txt 包含的内容,那将很有帮助。
-
这不是问题。请阐述您的问题并添加明确的标题。