Udacityでの講義の一つ
strに文字、targetに検索したい文字を入力して、
対象の文字が最後に発見されたときの文字の位置を出力するもの。
自分の回答
def find_last(str,target):
if str.find(target) == -1:
return -1
n = 1
while str.find(target, n) > 0:
n = n + 1
return n - 1
模範解答
def find_last(str , target):
last_pos = -1
while True:
pos = str.find(target , last_pos + 1)
if pos == -1:
return last_pos
last_pos = pos
改めて見ると、自分のはマジックナンバーはあるしな・・・。
Whileもこうやって書くのはよくないね・・・。
簡易なことなのかもしれないが、実装者のスキルで見やすさが変わるのは事実だな・・。