1

クラスの宿題に取り組んでおり、課題は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 ループを使用することになっていることはわかっていますが、これがわかりません。

4

2 に答える 2

1

もうすぐそこにいるようです。nums[i]実際にtoの値をsum適切な場所に追加する必要があるだけです。行のインデントも再検討してくださいreturn sum

于 2012-06-03T22:03:36.297 に答える