我已经开始研究python了,并且试图在小块中掌握新的东西,我为自己设定的最新目标是读取一个单独的浮点文件到内存中,并比较如果差异与用户指定的一样大,则列表并打印值。我写了下面的代码,它至今:Python浮点列表值比较
#! /usr/bin/env python
value = raw_input('Please enter a mass difference:')
fh = open ("values");
x = []
for line in fh.readlines():
y = [float for float in line.split()]
x.append(y)
fh.close()
for i in range(0,len(x)-1):
for j in range(i,len(x)):
if x[j][0] - x[i][0] == value:
print x[i][0],x[j][0]
编译器会抱怨,我不容许从。减去字符串(逻辑)的字符串,但我的问题是......他们为什么字符串?不应该嵌套的列表是浮动列表,因为我使用浮动浮动吗?
文字错误:;:
y = [float(i) for i in line.split()]
TypeError: unsupported operand type(s) for -: 'str' and 'str'
我将不胜感激,如果在我的推理出错有人能告诉我代替你的列表理解的)
干杯解释为什么结果WASN不是我期待的;) –