Python中if语句中分组条件的正确语法是什么?

Python中if语句中分组条件的正确语法是什么?,python,if-statement,syntax,Python,If Statement,Syntax,我很难完全理解python中if语句的语法。是否可以按如下所示对条件进行分组 如果我的年龄和邻居的年龄>20: python是否将上述代码理解为: 如果我的年龄>20岁而邻居的年龄>20岁: 如果它确实理解完全相同的事情,我如何才能分组条件?e、 g: 假设我有三个条件: 我的年龄和邻居的年龄>20 父亲年龄20岁,邻居的年龄>20岁)和 (父亲年龄20,那么你的第二个代码就是编写它的方法。如果my_age>20 and Neighbory_age>20除此之外,所有的条件都是正确的。只需尝试

我很难完全理解python中if语句的语法。是否可以按如下所示对条件进行分组

如果我的年龄和邻居的年龄>20:

python是否将上述代码理解为:
如果我的年龄>20岁而邻居的年龄>20岁:

如果它确实理解完全相同的事情,我如何才能分组条件?e、 g:

假设我有三个条件:

我的年龄和邻居的年龄>20
父亲年龄<60岁
表哥的年龄<我的年龄

写if语句的正确方法是什么?
如果(我的年龄和邻居的年龄>20岁)和(父亲的年龄<60岁)以及(表亲的年龄<我的年龄):

如果我开始混合“And”和“And”或“or”操作符,会发生什么?编写以下代码的最佳方法是什么:

如果((我的年龄和邻居的年龄>20岁)和(父亲的年龄<60岁)和(表弟的年龄<我的年龄))或女朋友的年龄>18岁:

python会完全理解上面的代码吗:如果my_age>20,而Neighbour_age>20:

不,不会的。Python将其解释为:

if (my_age) and (neighborhood_age > 20)
如果要将两个值与第三个值进行比较,必须这样做:

if (my_age > 20 and neighborhood_age > 20): ...
或者,为了绝对清晰,进行分组:

if ((my_age > 20) and (neighborhood_age > 20)): ...
如果要比较多个值,可以使用:

对于上一个示例,我可能会这样写,使用多行和括号来消除歧义:

if ((my_age > 20 and neighborhood_age > 20) and 
    (father_age < 60) and 
    (cousin_age < my age)
) or (girlfriend_age > 18):
    ...
if((我的年龄>20岁,邻居的年龄>20岁)和
(父亲年龄<60岁)和
(表哥年龄<我的年龄)
)或(女朋友年龄>18岁):
...

除了最简单的情况外,在几乎所有情况下,您都应该使用括号来明确您的意图。

您必须自己编写每个条件。
关键字与将
if
语句放在
if
语句中是一样的。 例如:

if my_age >= 20 and neighborhood_age >= 20:
    # Do something
那是同一件事吗

if my_age >= 20:
    if neighborhood_age >= 20:
         # Do something

混合使用
更简洁的方法是使用好括号和结束行。

基本上你已经掌握了所有语法,为什么不试着运行它,看看会发生什么?(为了解决第一部分的问题,不要编写类似于
的条件,如果my_age and Neighbory_age>20
,那么你的第二个代码就是编写它的方法。
如果my_age>20 and Neighbory_age>20
除此之外,所有的条件都是正确的。只需尝试一下。如果我有一些变量来匹配条件,那么第二个例子就可以很好用,但是如果我想将几十个变量与一个值进行比较,我应该怎么做?python提供了很多工具来处理多个条件。看看
any
all
中的成员测试
,它们可以使设置更复杂的条件变得简单。所有这些都需要先设置某种列表,然后是c这很容易。
if my_age >= 20:
    if neighborhood_age >= 20:
         # Do something