“嵌套 IF 语句”在技术上正确的含义是什么?

What is the technically correct meaning of a 'nested IF statement'?

提问人:Robert Flook 提问时间:11/22/2021 最后编辑:SayseRobert Flook 更新时间:11/23/2021 访问量:130

问:

一个非常快速(希望很容易)的问题。

我和一位同事在讨论嵌套的 IF 语句时存在分歧。我假设这意味着 IF 语句嵌套在另一个控制结构/语句(例如 FOR 循环、IF 语句、CASE 语句等)中。我的同事认为这意味着 IF 语句需要嵌套在另一个 IF 语句中。

我们谁是正确的,为什么(可能不容易回答)?

与 Python 语言无关

评论

4赞 Sayse 11/22/2021
你的同事是对的

答:

0赞 user17353495 11/22/2021 #1

嵌套的 if 语句意味着它是一个接一个的,就像嵌套的 for 循环一样(也许你更熟悉这一点)。

嵌套的 if 语句如下所示:

if some condition:
   if something:
      # do something

就像一个嵌套的for循环一样:

for i in something:
   for some in something:
      # do something

评论

0赞 Sayse 11/22/2021
运算询问 if 是嵌套的 if 语句for i in something: if i:
3赞 Sayse 11/22/2021 #2

你的同事是对的。

嵌套 if 语句是指通过添加分支创建的逻辑树,它在代码其余部分中的位置与此无关。

同样,以下内容不会嵌套 if,因为它在 for 循环中创建了一个单独的逻辑树。

if i:
   for x in i:
      if x:
1赞 Pitis 11/22/2021 #3

嵌套的“if”语句意味着它是一个接一个的,例如:

if(shouldLogin) {
    if(isUser) {
        if(userIsAdmin) {
           console.log('some code')
         }
   }
}

理想情况下,根据具体情况,如果出现以下情况,您只需要 1 个:

if (shouldLogin && isUser && userIsAdmin)

不是一个很好的例子,但希望它有所帮助

0赞 Spica Simpson 11/22/2021 #4

在嵌套的 if 构造中,可以有一个 if...伊利夫...else 构造在另一个 if...伊利夫...else 构造。

if statement:
    if another_statement:
        do_something()
    else:
        do_another_thing()
elif not statement:
    if another_statement:
        do_something()
    else:
        do_another_thing() 
else:
    yet_nother_func()

评论

0赞 Adrian W 11/23/2021
欢迎来到 StackOverflow!请尽量让你的回答尽可能简单,并专注于OP要求的主题。与布尔常量(“foo is True”、“bar is False”)进行比较会使代码变得不必要地复杂。你想解释的东西也可以用等来表达......if statement:if not another_statement: