python中的嵌套'和'条件'if statement'

时间:2015-07-15 01:59:21

标签: python python-3.x

我在python中使用嵌套'和'条件'if语句'如下,

a=[3.93, 3.90, 3.92, 3.91]

if (a[0] and a[1])==3.90 and (a[2] and a[3])==3.91:

    print(True)

else:

    print(False)

执行代码时,它会将结果生成为“True”。

但它需要产生'假',因为[2]和[3]不等于3.91以及[0]和[1]不等于3.90。

我可以知道原因和正确的代码吗?

2 个答案:

答案 0 :(得分:2)

不幸的是,编程语言需要比英语更精确。为了得到你想要的,做到这一点:

if a[0] == 3.90 and a[1] == 3.90 and a[2] == 3.91 and a[3]==3.91:

您开始使用的代码将对(例如)a [0]和[1]进行“真实”测试,然后返回[1],因为它们都是“真”。因此,(a[0] and a[1])将为3.90。因此,条件的第一部分评估为True - 出于同样的原因,第二部分也是如此。

答案 1 :(得分:0)

您的代码存在的问题是您忘记在if语句中包含[0] ==(值)和[2] ==(值)。完全不让他们离开。

fix-在if语句中包含[0]和[2]。

a=[3.93, 3.90, 3.92, 3.91]

if a[0]==3.90 and a[1]==3.90 and a[2]==3.91 and a[3]==3.91:
     value = True
else:
     value = False
print(value)