2017-10-05 10 views
0

私はちょうどPythonを学び始めました。 Bashに慣れた後、私はPythonを使い、それを学ぶことに決めました。この質問がばかげているようなら、炎を投げないでください。Python |単純if/else文forループ内 - 動作しません

私が含まれているこの "file.txtは" を得た:私は、forループの内側に使用してい

81 
99 
90 
90 
70 
100 

ザ・もし/ else文が動作していないよう:

with open('file.txt') as x: 
    for num in x: 
     if num > 90 : 
      print "NOT ok - ",num 
     else : 
      print "Okay - ",num 

私ができます」すべての数字が「NOT OK」になる理由を理解する。

NOT ok - 81 

NOT ok - 99 

NOT ok - 90 

NOT ok - 90 

NOT ok - 70 

NOT ok - 100 

助けてください。ありがとう。

+3

if文でINT(数値)で、numを交換してください。文字列と数値を比較しています。 –

答えて

2

if部分の文字列と数字を比較しています。

numint(num)と置き換えてif部分に置き換えます。

>>> '81' > 90 
True 
>>> 81 > 90 
False 
>>> 
0

Dineshが指摘したように、ファイルから読み取るとき、numは現在文字列型です。次を入力して同じことをテストすることができます。

for num in x: 
    print type(num) 
    if num > 90 : 

ので、NUMを比較する前に、以下のようにそれを入力します。

if int(num) > 90: 
関連する問題