2016-07-25 15 views
1

これは本当に奇妙です。私はdjangoプログラムを持っており、私はビューからこのpyファイルを呼び出しています。ファイルはExcelから読み込まれ、指定された番号(ターゲット)の正しい番号インデックスが検索されます。python/django-番号の比較(>)が機能しません

「範囲外のターゲット番号」を伝え続けているので、番号を印刷します。 (pycharmを使用して)

for target in target_list: 
    print target, df[pin_num][end], df[pin_num][0] 
    if target > df[pin_num][end] or target < df[pin_num][0]: 
     print target, df[pin_num][end], df[pin_num][0] 
     print target > df[pin_num][end] 
     print target < df[pin_num][0] 
     return "Target Number out of Range" 

。コンソールショー:これは今までに起こる可能性がどのように

23925.85 24472.9 23876.0

23925.85 24472.9 23876.0

True

False

Target Number out of Range

? 23925.85は明らかに24472.9より小さいです...そして私は比較する必要があるすべてを印刷しています。

+5

あなたはすべて数字だと確信していますか?多分それらは実際には文字列です。 –

+0

@Rawing偶数文字列は上記の結果を返しません。 '' 24 ... ''は' '23 ...'よりも辞書編集上重要です。最初の文字列の先頭に空白がある点を除いて –

+0

@pwnsauce文字数は関係ありません –

答えて

0

だから@Rawingはコメントで述べたように、私は

print type(target), type(df[pin_num][end]), type(df[pin_num][0])

を追加し、それは対象が文字列である示しました。

ので、私は、コメントを追加しました:

target=float(target) 

これは私の問題を解決します。

関連する問題