私はプログラミングが初めてで、codingbat.comの問題を開始しようとしています。私はこの問題に遭遇しました:
配列が与えられた場合、配列に 13 がある場合を除き、合計を計算します。配列に 13 がある場合は、13 とその直後の数字をスキップします。たとえば、[1,2,13,5,1] は 4 になります (13 と 5 がスキップされるため)。
これは私がこれまでに持っているものです。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)