指定された文字列で、特定の文字に最後に遭遇したときの位置を出力する必要があります。どうすればいいですか?すなわち。この文字列 "alahambra" について、文字 "a" が最後に出現した時刻を見つける必要があるため、結果は 8 になります。
私はこのコードを試しましたが、常にうまくいくとは限りません:
def find_last(search, target):
first=search.find(search)
last=len(search)
result=search.find(target,last-1)
return result
例:
print find_last('aaaaa', 'aa')
3 を出力するはずなのに、代わりに -1 を出力します。それは間違っています!
print find_last('aaaa', 'b')
-1 を出力する必要があり、-1 を出力します。これは正しいです。
print find_last("111111111", "1")
8 を出力する必要があり、8 が出力されます。これは正しいです。
print find_last("222222222", "")
9 と表示されるはずなのに、代わりに 8 と表示されます。これは間違っています。
print find_last("", "3")
-1 を出力する必要があり、-1 を出力します。これは正しいです。
print find_last("", "")
0 を出力する必要があり、0 を出力します。これは正しいです。
コードの何が問題で、どのように変更すればよいですか? ありがとう!