我刚刚开始学习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
任何帮助将不胜感激。谢谢。
答案 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: