我是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
的情况下理解这一点,如上面的代码所示。
答案 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
。