私は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]
コンパイラは、文字列から文字列を(論理的に)減算することは許可されていないと文句を言いますが、私の質問は...なぜ文字列なのですか?floatにfloatを使用しているので、ネストされたリストはfloatのリストにすべきではありませんか?
リテラルエラー:
TypeError: unsupported operand type(s) for -: 'str' and 'str'
誰かが私の推論がどこで間違っているのか教えてくれれば幸いです;)