質問
is_match:
(str, str) -> bool
最初のパラメーターはパズルで、2 番目のパラメーターはビューです。ビューが指定されたパズルのビューである可能性がある場合は True を返します。
私の答え
私はこれを思いつきました:
def is_match(puzzle, view):
if len(puzzle) != len(view):
return False
if len(puzzle) == len(view):
return True
これもオンラインで見つけました:
def is_match(given_puzzle, view):
if len(given_puzzle) != len(view):
return False
unique_letters = set(ch for ch in view if ch != '^')
for (a, b) in zip(given_puzzle, view):
if a in unique_letters and a != b:
return False
return True
私が抱えているこの問題は、次のように入力した場合です。
is_match('blah', 'tr^^')
指定された両方のコードに対して True を返します。文字列の長さだけが一致しないという事実により、どちらが間違っているに違いありませんか?これを修正するにはどうすればよいですか?