我在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。
我可以知道原因和正确的代码吗?
答案 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)