为什么我们不需要"否则"在if语句中,如果它包含" return"?

时间:2017-12-01 17:35:06

标签: python

我是Python的初学者,我无法理解为什么我们不必在下面的情况下使用else

def find_element(p,t):
     i=0
     while i<len(p):
       if p[i]==t:
         return i
       i=i+1
     return -1

在这段代码中,我想如果我想返回-1,我应该使用else return -1,但似乎python在没有else的情况下理解这一点,如上面的代码所示。

4 个答案:

答案 0 :(得分:1)

返回终止一个函数。基本上,如果&#34; if&#34;条件在&#34;内满足&#34;而#34;循环,该函数将结束。或者,如果&#34; while&#34;允许循环完成(&#34;如果&#34;条件失败),则强制返回值。在这种情况下,你不需要&#34; else&#34;声明,如果你希望遍历整个&#34;同时&#34;循环。

答案 1 :(得分:0)

嗯,在你提供的确切情况下,这是因为你已经&#34;返回&#34;比赛结束后。一旦函数返回,返回后没有代码执行,这意味着如果你传递了if条件,那么该方法就会突破循环和所有内容,使得else变得不必要。

基本上:你不需要别的东西,因为如果你的条件传递了代码,那么执行方法就会破坏方法。

答案 2 :(得分:0)

你不需要其他因为如果找到元素t则返回i产生索引,否则退出循环而不遇到t,将执行返回-1。但是如果它让你更舒服,可以随意添加其他通行证。

如上所述,否则:返回-1,是一个错误,带有else else子句的函数只会检查列表的第一个元素是否为

答案 3 :(得分:-1)

在Python中,缩进决定范围,因此return -1实际上在while循环之外。仅当return -1与所有t不同时,您的代码才会p