在python中,条件语句是否可以同时调用嵌套和链接?

In python, can a conditional statement be called both nested and chained?

我正在 Udemy 上在线学习 类,课程建议条件语句不能同时链接嵌套。

我在 google 上查找并发现了这个:

链接条件是包含一系列使用 if、elif 和 else 语句的替代分支的条件,这些分支都以相同的深度缩进。 链接条件中没有嵌套。另一方面,嵌套条件是一个条件嵌套在另一个条件中。

https://www.assignmentexpert.com/homework-answers/programming-and-computer-science/python/question-184682*

下面是一个让我感到困惑的例子。

answer = None
x = randn()
if x >= 1:
  answer = "x is greater than 1"
elif x >= -1:
  answer = "x is between -1 and 1"
else:
  if x >=-2:
    answer = "x is between -2 and -1"
  else:
    answer = "x is less than -2"
print(x)
print(answer)

链式条件中存在嵌套条件。那么这不应该被称为链式和嵌套吗?

根据给出的示例和定义,可以在链式条件语句中嵌套(也就是代码 运行),但问题是 你应该在链式中嵌套吗?

也许课程建议条件语句不能同时链接和嵌套因为您可以重写代码以便嵌套的条件语句是而是添加到链中,这将产生更清晰、更易读的代码。

例如,您提供的代码可以很容易地重写如下:

answer = None
x = randn()
if x >= 1:
  answer = "x is greater than 1"
elif x >= -1:
  answer = "x is between -1 and 1"

# change happens below
elif x >=-2:
  answer = "x is between -2 and -1"
else:
  answer = "x is less than -2"
print(x)
print(answer)

TDLR: 在执行方面,代码将 运行 没有错误。但就设计和可读性而言,它很糟糕,因此不是好的做法,也不建议这样做。