Python 2.7中的简单IF语句

时间:2018-01-26 14:06:46

标签: python python-2.7 if-statement

我需要if语句的帮助。语法似乎是正确的,并且已在此论坛中验证,但不确定为什么它会进入“无效的IF语句”。

ips=['20.34.178.250']
for index, item in enumerate(ips):
    flag1 = 0
    host_bytes= item.split('.')
    print item,index
    for index1, item1 in enumerate(host_bytes):
        print item1
        if [item1 > 255 and flag1==0]:
            print "IP Address is invalid",item1,flag1
            flag1=1
print flag1

输出:

20.34.178.250 0
20
IP Address is invalid 20 0
34
IP Address is invalid 34 1
178
IP Address is invalid 178 1
250
IP Address is invalid 250 1
1

1 个答案:

答案 0 :(得分:2)

if [item1 > 255 and flag1==0]:

你的条件会创建一个包含listTrue的1个元素False,由于列表不为空,因此被视为“真实”,因此条件始终为{{1 }}。你的意思是:

True

但是在python中你不需要括号,所以节省一些字节和拼写错误的风险:

if (item1 > 255 and flag1==0):