Python | for循环中的简单if / else语句 - 不工作

时间:2017-10-05 03:49:38

标签: python for-loop if-statement

我刚刚开始学习Python。在让自己熟悉Bash之后,我决定使用Python并学习它。如果这个问题看起来很愚蠢,请不要熄火。

我得到了这个" file.txt"其中包含:

81
99
90
90
70
100

我在for循环中使用if / 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

任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:2)

您正在将if部分中的字符串与数字进行比较。

num替换为int(num)部分中的if

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

答案 1 :(得分:0)

正如Dinesh所指出的,当从文件中读取时,num目前是字符串类型。您可以通过键入以下内容来测试相同的内容:

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

因此,在比较num之前,请输入以下内容:

if int(num) > 90: