我試圖理解導致這種情況的邏輯和過程,但仍然不明白為什么會這樣。抱歉,如果這是一個非常簡單/糟糕的問題。這是問題:返回數組中數字的總和,除了忽略以 6 開頭并延伸到下一個 7 的數字部分(每個 6 后面至少有一個 7)。沒有數字則返回 0。這是有錯誤的代碼:def sum67(nums): ans = 0 if len(nums) == 0: return 0 elif 6 not in nums: for val in nums: ans += val return ans elif 6 in nums: x = nums.index(6) y = nums.index(7, x) for i in range(x, y): nums.pop(i) for val in nums: ans += val return ans這是錯誤:pop index out of range
1 回答
MMTTMM
TA貢獻1869條經驗 獲得超4個贊
哇哦!我剛剛了解了該del功能。
我的解決方案是更換:
elif 6 in nums:
x = nums.index(6)
y = nums.index(7, x)
for i in range(x, y):
nums.pop(i)`
和:
while 6 in nums:
x = nums.index(6)
y = nums.index(7, x)
del nums[x:y+1]
添加回答
舉報
0/150
提交
取消
