次のデータを含むファイルがあります。
PAIR 1MFK 1 URANIUM 82 HELIUM 112 3.6997
PAIR 2JGH 2 PLUTONIUM 98 POTASSIUM 88 5.3003
PAIR 345G 3 SODIUM 23 CARBON 14 1.664
PAIR 4IG5 4 LITHIUM 82 ARGON 99 2.5506
ここで、列 5 の値が列 7 の値より大きいか、またはその逆かを調べる必要があります。私が使用した:
inp = open("filename".'r').read().strip().split('\n')
for line in map(str.split, inp):
k = line[5]
m = line[7]
if k > m:
print 'loop 1 satisfies'
elif m > k:
print 'loop 2 satisfies'
else:
print 'loop error'
しかし問題は、次のような出力が得られることです。
loop 1 satisfies
loop 1 satisfies
loop 1 satisfies
loop 1 satisfies
ただし、1 行目の 5 列目の値 82 が 7 列目の値よりも小さい場合。この種のエラーの理由がわかりません。
助けてください。