我对python很陌生,并且遇到了以下代码:
def function(array):
i = 0
j = 10
while i < j:
if array[i]!=array[j]
return False
i += 1
j -= 1
return True
我不明白为什么True
循环中不管发生什么,都不会总是将while
值赋给该函数。 while
循环似乎只是检查if
语句,并且在完成循环后,无论如何应该将True
值分配给该函数。但是这段代码的工作方式如下:if
语句检查条件,如果条件为true,则将False
分配给函数,如果条件为true,则将True
分配给函数。功能。但是True
的分配不在while循环中,因此无论True
循环中发生了什么,我们都应该分配while
使其起作用。我无法理解这里的逻辑,任何人都可以在此启发我。非常感谢。
答案 0 :(得分:2)
return语句结束函数调用的执行并“返回”结果...
return语句结束函数。 来自https://www.python-course.eu/python3_functions.php
答案 1 :(得分:2)
使用return
将程序的控制权交还给调用函数。因此,当您处于while循环中,并且if子句中的条件被评估为true时,您的function
将终止执行并将程序的控制权移交给调用函数。函数将返回true的唯一情况是,在执行while循环期间,如果if子句中的条件从未满足。
答案 2 :(得分:1)
Return退出当前函数或方法。
在if语句中返回False时,它将不继续其余代码,并且始终返回false。
答案 3 :(得分:0)
在循环的其余部分有机会完成之前,条件可能已经执行。什么时候
if array[i]!=array[j]
满足,则调用return False,退出循环并返回False。
发生这种情况是因为
array[i]!=array[j]
是循环结束并返回True之前首先要满足的条件。
相反,您可能希望“跳过”满足此条件的循环部分。如果是这样,请使用关键字
continue
这会将当前迭代“跳过”到下一个迭代,并将继续循环。
代码如下:
while i < j:
if array[i]!=array[j]:
continue