我試圖理解導(dǎo)致這種情況的邏輯和過程,但仍然不明白為什么會這樣。抱歉,如果這是一個(gè)非常簡單/糟糕的問題。這是問題:返回?cái)?shù)組中數(shù)字的總和,除了忽略以 6 開頭并延伸到下一個(gè) 7 的數(shù)字部分(每個(gè) 6 后面至少有一個(gè) 7)。沒有數(shù)字則返回 0。這是有錯(cuò)誤的代碼: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這是錯(cuò)誤:pop index out of range
1 回答

MMTTMM
TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
哇哦!我剛剛了解了該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]
添加回答
舉報(bào)
0/150
提交
取消