我是编程新手,我正在尝试解决 codingbat.com 问题。我遇到了这个问题:
给定一个数组,计算总和,除非数组中有 13。如果数组中有 13,则跳过 13 和紧随其后的数字。例如 [1,2,13,5,1] 应该产生 4(因为跳过了 13 和 5s)。
这就是我到目前为止所拥有的。我的问题是当有多个 13 时我不知道该怎么办......而且我想有效地学习编码。你们能帮忙吗?(我使用的是 python 3.2)谢谢!
def pos(nums):
for i in nums:
if i == 13:
return nums.index(13)
return False
def sum13(lis):
if pos(lis)!= False:
return sum(lis[:pos(lis)])+sum(lis[pos(lis)+1:])
else:
return sum(lis)