Python 2.7中的简单IF语句
我需要有关Python 2.7中的简单IF语句,python,python-2.7,if-statement,Python,Python 2.7,If Statement,我需要有关if语句的帮助。语法似乎是正确的,并且在本论坛中也进行了验证,但不确定为什么会出现在“invalid if statement”中 输出: 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 您的条件创建了一个包含True或False的单元素列表,该列表被
if
语句的帮助。语法似乎是正确的,并且在本论坛中也进行了验证,但不确定为什么会出现在“invalid if statement”中
输出:
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
您的条件创建了一个包含True
或False
的单元素列表,该列表被视为“truthy”,因为列表不是空的,所以条件总是True
。你的意思是:
if (item1 > 255 and flag1==0):
但在python中,您不需要括号,因此可以节省一些字节并避免打字错误:
if item1 > 255 and flag1==0:
如果[item1>255和flag1==0]
是一个输入错误,您不需要将[]括号简化为如果有(int(x)>255表示item.split('.'))
@cricket\u 007您甚至可以使用字符串比较x>“255”
,而不转换为整数。@Rahul这不是一个论坛,它是一个问答网站。您还应该考虑使用更现代的Python 3语法,例如,在程序中包含从代码> <代码>,然后使用<代码>打印(“字符串”)<代码>代替旧式的代码>打印“字符串”。
通过将flag1设置为正确的bool@cricket_007如果您建议制作。。。和not flag1
这可能不是一种正确的bool生成方法,因为当flag1
为非时,bool也会被验证为False,这可能是一种特殊情况,例如表明发生了错误。
if (item1 > 255 and flag1==0):
if item1 > 255 and flag1==0: