クラスの宿題に取り組んでおり、課題はcodingbat.comにあります。問題は次のとおりです。
配列内の数値の合計を返し、空の配列の場合は 0 を返します。ただし、13 という数字は非常に不運であるため、カウントされません。また、13 の直後に来る数字もカウントされません。
これまでのところ、私はこれを持っています:
def sum13(nums):
sum = 0
i = 0
while i in range(len(nums)):
if i == 13:
i += 2
else:
i += 1
return sum
また、私はよりうまく機能するこのコードを持っていました:
def sum13(nums):
sum = 0
for i in range(len(nums)):
if nums[i] != 13:
sum += nums[i]
return sum
while ループを使用することになっていることはわかっていますが、これがわかりません。