我可以拥有多个''如果''一个if语句中的语句,例如
if x>23:
if x<0:
if y>59:
if y<0:
if z>59:
if z<0:
print("happy")
答案 0 :(得分:4)
当然,只需使用and
加入条件......
if (x > 23) and (x < 0) and ...
当然,在此示例中,x > 23
和x < 0
对于几乎所有常见对象都是互斥的。很遗憾你会得到印刷声明。
根据逻辑,您可能希望在上面的表达式中使用or
而不是and
。
请注意,有时,您可以使用python的运算符链接来压缩它。比如说,你想说:
if (x > 23) and (x < 42):
do_something()
您可以将其写为:
if (23 < x < 42):
do_something()
答案 1 :(得分:1)
使用or
连接条件:
if x > 23 or x < 0 or y > 59 or y < 0 or z > 59 or z < 0:
print("happy")
我正在使用or
,因为条件是互斥的(因此and
不合适)。以上内容如果:如果任何这种情况属实,那就做点什么。
答案 2 :(得分:1)
您可以使用and
关键字链接您的条件:
if x > 23 and x < 0 and y > 59 and y < 0 and z > 59 and z < 0:
print("happy")
但是,print("happy")
永远不会被执行,因为x > 23
和x < 0
是不可能的(y
和z
相同)。我想你想这样做:
if (0 < x < 23) and (0 < y < 59) and (0 < z < 59):
print("happy")
...检查x
是否介于0到23之间,y
介于0到59之间,z
介于0到59之间
答案 3 :(得分:0)
呃......怎么样(这是你的代码所代表的,除了它缺少一些冒号和缩进)
if x>23 and x<0 and y>59 and y<0 and z>59 and z<0:
print("happy")
另外,正如另一个答案所述:x>23 and x<0
永远不会是True
,所以永远不会打印出来。
答案 4 :(得分:0)
请注意,为了使其正确显示所需的缩进,隐含含义为和。但是,由于你有相互矛盾的条件(x <0)和(x> 23)这是不可能的。现在我已经向您展示了格式化的要求,请修复它以便我们可以看到您的真正含义。
请记住条件行末尾的“:”要求。
你的意思是
吗?if (x<0 or x>23) and (y<0 or y>59) and (z<0 or z>59):