2017-10-05 83 views
0

我剛開始學習Python。在讓自己適應Bash後,我決定使用Python並學習它。如果這個問題看起來很愚蠢,請不要扔火焰。Python |簡單if/else語句內循環 - 不工作

我得到這個 「file.txt的」,其中包含:

81 
99 
90 
90 
70 
100 

的,如果我用在for循環/ else語句似乎不工作:

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

我可以」不明白爲什麼輸出對所有數字都「不好」。

NOT ok - 81 

NOT ok - 99 

NOT ok - 90 

NOT ok - 90 

NOT ok - 70 

NOT ok - 100 

任何幫助,將不勝感激。謝謝。

+3

在if語句替換INT(NUM)NUM。你正在比較字符串和數字。 –

回答

2

您正在比較字符串與if部分中的數字。

替換numint(num)if部分。

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

正如Dinesh指出的那樣,當從文件讀取數據時,該數字當前是字符串類型。您可以通過以下打字測試相同:

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

所以,比較NUM前,鍵入如下內容是:

if int(num) > 90: