我需要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
答案 0 :(得分:2)
if [item1 > 255 and flag1==0]:
你的条件会创建一个包含list
或True
的1个元素False
,由于列表不为空,因此被视为“真实”,因此条件始终为{{1 }}。你的意思是:
True
但是在python中你不需要括号,所以节省一些字节和拼写错误的风险:
if (item1 > 255 and flag1==0):