def array_front9(nums):
end = len(nums)
if end > 4:
end = 4
for i in range(end):
if nums[i]==9:
return True
return False
我需要了解上面的python代码以及为什么两个在'for循环'中返回语句。这让我很困惑。
答案 0 :(得分:4)
这可以更简单地重写(即“更多pythonic”),因为:
def array_front9(nums):
return 9 in nums[:4]
代码的前半部分是将循环限制设置为前4个元素,如果数组nums
更短,则设置为更少。 nums[:4]
通过创建仅包含前4个元素的副本来完成同样的事情。
循环正在检查循环中是否找到元素9
。如果找到,则会立即返回True
。如果从未找到,则循环结束并返回False
。这是in
运算符的缩写形式,是语言的内置部分。
答案 1 :(得分:2)
让我解释一下:
def array_front9(nums): # Define the function "array_front9"
end = len(nums) # Get the length of "nums" and put it in the variable "end"
if end > 4: # If "end" is greater than 4...
end = 4 # ...reset "end" to 4
for i in range(end): # This iterates through each number contained in the range of "end", placing it in the variable "i"
if nums[i]==9: # If the "i" index of "nums" is 9...
return True # ...return True because we found what we were looking for
return False # If we have got here, return False because we didn't find what we were looking for
如果循环完成(完成)而没有返回True
,则有两个return语句。
答案 2 :(得分:1)
第二次返回不在for循环中。如果循环“通过”,则False
的返回值为nums[i]
,而{{1}}中的任何一个都不等于该范围内的9。
至少,这就是你缩进它的方式。
答案 3 :(得分:0)
您可以使用列表切片更清楚地重写此内容:
def array_front9(nums):
sublist = nums[:4]
if 9 in sublist:
return True
else:
return False