3 回答

TA贡献1802条经验 获得超5个赞
在循环的第一次迭代中,循环检查是否nums[0]
为 9 并始终返回True
or False
; 您没有机会检查其余元素。你应该只True
在被检查的元素是 9 时返回,并且False
只在前四个元素失败时返回,即在循环之外。
def array_front9(nums): return 9 in nums[:4]

TA贡献1111条经验 获得超0个赞
代码中的问题是,如果列表中的第一个数字不是 9,那么循环将停止并且函数执行将停止它,因为return False处于 else 条件。
def array_front9(nums):
count = [len(nums), 4][len(nums) > 5]
for i in range(count):
if nums[i] == 9:
return True
return False

TA贡献1858条经验 获得超8个赞
我认为你需要:
def array_front9(nums):
count = 4
if len(nums)<4:
count = len(nums)
if 9 in nums[:count]:
return True
return False
你的代码有什么问题
if nums[i]==9:
return True
else:
return False
在上面的行中,您只是检查第一个值,如果它是 9,那么它返回 True,否则返回 False
添加回答
举报