シーケンス 's' で最後に出現するアイテム 'x' を見つけたい、または何も存在せず、最初のアイテムの位置が 0 の場合は None を返したい
これは私が現在持っているものです:
def PositionLast (x,s):
count = len(s)+1
for i in s:
count -= 1
if i == x:
return count
for i in s:
if i != x:
return None
私がしようとすると:
>>>PositionLast (5, [2,5,2,3,5])
>>> 4
これが正解です。ただし、「x」を 5 ではなく 2 に変更すると、次のようになります。
>>>PositionLast(2, [2,5,2,3,5])
>>> 5
ここでの答えは 2 です。これがどのように発生しているのか混乱しています。修正する必要があることを誰かが説明できれば幸いです。また、可能な限り最も基本的なコードでこれを完成させたいと思います。
ありがとうございました。