如果我们有多个条件,为什么if条件评估失败?

时间:2019-07-06 20:01:11

标签: python python-3.x conditional-statements

我正在执行以下代码,但条件已通过且没有中断执行。

在第二个循环中,此条件检查应失败[int(a[i])==0]。但是我看到它正在通过。我能知道答案吗?

我尝试使用以下代码,但这种情况失败了。但是,如果我包括多重条件,那就失败了。

a=['0'] if int(a[0])==0 : print ("invalid")

实际代码

a="25605511135"
str=''
for i in range(0,len(a),3) :
 word = a[i:i+3]
 print(a[i])
 lis= [int(a[i])==0,int(word) > 255]
 if all(lis):
  print("Invalid")
  break

预期结果应为:-2 0无效

应该执行break语句

1 个答案:

答案 0 :(得分:0)

  • word的值为256、055、111、35。(也可以打印出来以查看)。
  • a[i]的值为2、0、1、3。

all(lis)仅在a[i]为0且word> 255时才为真,而对于输入字符串则永远不会发生。因此,您的代码似乎正在按照编写的方式进行。

您需要弄清楚您的标准是什么,以及您希望如何评估它们。