gpt4 book ai didi

python - 在 Python 中,为什么我的 for 循环只在特定数字之前的数字是数组中的最后一个时才排除该数字?

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:51 24 4
gpt4 key购买 nike

我正在处理一个 codingbat 问题,当排除的数字位于数组末尾时,我得到了意想不到的结果。

def sum13(nums):
a = []

if len(nums) == 0:
return 0
for i in range(len(nums)):
if nums[i] == 13 or nums[i-1] == 13:
continue
a.append(nums[i])

return sum(a)

代码应附加数组中的所有数字以列出 a 并返回总和,不包括数字 13 和紧随其后的数字的任何实例。它适用于大多数测试,但当数组以 13 结尾时,它不会将索引 0 处的数字附加到列表中,从而返回错误的结果。

最佳答案

i 为 0 时,计算 nums[-1]nums[-1]nums 的最后一个元素。这就是你的问题。

如果 nums[-1] 为 13,则执行 continue,因此不会向 nums 添加任何内容

关于python - 在 Python 中,为什么我的 for 循环只在特定数字之前的数字是数组中的最后一个时才排除该数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55699260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com