【问题标题】:Meaning of statement "elif" in PythonPython中语句“elif”的含义
【发布时间】:2020-09-23 00:10:11
【问题描述】:

在下面的代码中,我想知道 elif 语句的确切含义。我知道如果“if”语句给出错误,那么“elif”语句中的语句将会发生。但是我想知道究竟是哪个是“if”语句中的假条件(如果它是假的)。在我的评论中继续

def find_Biggest():      
#function definition
    if(a>b) and (a>c):
        largest=a
    elif(b>a) and (b>c):
        largest=b
    else:
        largest=c

“if”语句中的条件为(a>b and a>c)。如果此条件为假,则意味着a<ba<c(a<b and a<c) 对吗?因此,以下“elif”中的条件必须与 thaf 条件相反。与此条件相反的是什么?对不起,如果我让您感到困惑,我不是故意的,但尽管我可以解决这个简单的例子,但我想了解if -elif的内部机制..非常感谢。

【问题讨论】:

  • 在帖子中添加解释,而不是在 cmets 中
  • 抱歉,我不允许这样做。
  • 它没有。我正在智能手机上浏览这个网站。每次我尝试时它都会不断切断我的其余帖子。

标签: python if-statement conditional-statements


【解决方案1】:

如果“if”子句中提到的任何条件为假,它将前进到“elif”,现在不管之前的条件是什么,它只会检查新的条件。如果所有条件都为真(在 elif 中),它将简单地执行语句。这不是与“if”相反的问题。

【讨论】:

    【解决方案2】:

    elif 是“else if”的 python 等价物。

    【讨论】:

    • 完全正确。但是“else”的意思是“如果上述条件不成立,即如果上述条件是 x>=0,那么这意味着在“else”语句中,变量 x 在下面被考虑0
    • 当“If”为假时,它“检查”“elif”是否为真,如果“if”和“elif”都为假,则“else”运行。希望能消除任何困惑
    【解决方案3】:

    正如其他人所说,就像有else if一样。不过,一个非常重要的区别是:它可以解决所谓的Dangling else 问题。特别是,Python 的空格敏感语法本身解决了这个问题,但解析器因此不允许 else if 语法。

    【讨论】:

      【解决方案4】:

      elif 表示当且仅当上面的条件满足并且elif本身时才会执行满意 - 它就像一些编程语言中的 switch/case 语句。在这种情况下,它也不会转到else 条件。

      在这里,您正在检查a 是否最大-如果是,则标记它-否则检查b 是否最大并标记它;否则它将c 标记为最大(即使它与ab 绑定)。

      更具体地说,如果a>b and a>c 为假,则仅意味着a 不是最大的(它可以与bc 绑定,但这还不够)。同样,如果b>a and b>c 为假,则意味着b is not the biggest(再次领带是不够的)。如果两者都是假的,它会将c 标记为最大,即使它是并列的。

      【讨论】:

      • 可以提一下,如果满足elif语句,则elif内的代码被执行,else语句不会被执行。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 2016-09-04
      • 2020-10-28
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多