リスト内の整数要素の合計を返す関数を書くことを試みています。しかし、リストに13がある場合は、13を除外し、合計の直後にあるものを除外する必要があります。これまで私は次のコードを考え出しました。これは、背中合わせに2つの13がある場合を除き、ほぼすべての場合に有効です。例えば、私がprint(sum13([13, 13, 2, 13, 1, 5, 6, 13]))
で関数を呼び出すと、11
の出力を与えるのではなく、13
という結果が得られます。どんな助けもありがとうございます。リスト内の要素の合計を計算するためのPythonループ13
def sum13(nums):
while 13 in nums:
index13 = nums.index(13)
nums = nums[0:index13]+nums[index13+2:]
return sum(nums)
あなたのロジックで最初の13は2番目の13を省略する必要があります( "13を除外する必要がありWHATVERはその直後に来ます)。したがって2 + 5 + 6 = 13 – BlooB
13それだけでなく13の後に来るものを省略する必要があります。したがってこの場合、リストから2も省略する必要があります。 – Hoist
私はあなたがしたいことを理解していますが、私が言っているのはあなたのロジックの反映です。私はあなたが間違っていた場所を見るのを助けようとしています:-)最初の13は2番目の13を省略するので、2番目の13は2を省略できません。 – BlooB