Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python在列表中找不到正确的值_Python_Python 3.x - Fatal编程技术网

Python在列表中找不到正确的值

Python在列表中找不到正确的值,python,python-3.x,Python,Python 3.x,我试图解决这个编码难题: 给定一个int数组,如果数组中的前4个元素之一是9,则返回True。数组长度可能小于4 def array_front9(nums): end = len(nums) if end > 4: end = 4 for i in range(end): if nums[i] == 9: return True elif nums[i] != 9: r

我试图解决这个编码难题: 给定一个int数组,如果数组中的前4个元素之一是9,则返回True。数组长度可能小于4

def array_front9(nums):
    end = len(nums)
    if end > 4:
        end = 4
    for i in range(end):
        if nums[i] == 9:
            return True
        elif nums[i] != 9:
            return False
它只通过了大约一半的测试用例


我现在只编写了大约一周的代码,我不明白为什么我的代码没有通过测试用例。有人能解释一下为什么这些测试用例失败,以及我需要修改什么来修复它吗?

请以书面形式发布您的代码以及完整的错误。提示:切片表示法(
lst[:]
),以及
操作符中的
…您的
返回False
太早了。您的函数当前为“is the first element==9”,因为如果
a[0]!=9
。您需要将
return False
移动到每个元素测试后发生。但是我同意@deceze,有更好更简单的方法来实现这一点,谢谢大家,我理解这个错误,请原谅我第一次使用这些平台时发布的那种混乱。请以书面形式发布您的代码以及完整的错误。提示:切片表示法(
lst[:]
),以及
中的
操作符…您的
返回False
太早了。您的函数当前为“is the first element==9”,因为如果
a[0]!=9
。您需要将
return False
移动到每个元素测试后发生。但是我同意@deceze,有更好更简单的方法来实现这一点,谢谢大家,我理解这个错误,请原谅我第一次使用这些平台时发布的那种混乱。为什么要使用
if..else
?如果在短于4的列表中使用
[:4]
会发生什么?好的。接下来,将其进一步减少为
以nums[:4]
返回9…我知道有一些较短的方法可以做到这一点,但作为初学者,我对较短的方法不太适应,最终我会学会的。再次感谢。为什么要使用
if..else
?如果在短于4的列表中使用
[:4]
会发生什么?好的。接下来,将其进一步减少为
以nums[:4]
返回9…我知道有一些较短的方法可以做到这一点,但作为初学者,我对较短的方法不太适应,最终我会学会的。再次感谢。
def is9(nums):
    return 9 in nums[:4]