現在、課題に取り組んでいて、ややこしくなっています。これにアプローチするための援助を探しています。私は、ユーザが入力する雑誌と身代金の2つの値を取る関数を試そうとしています。もし身代金の中の文字が雑誌で見つかることができるなら、それを返そうとしています。それ以外の場合は、身代金の文字列がマガジンの文字列で見つからない場合はfalseを返します。文字列の文字を辞書のpythonと比較する
マガジン入力:こんにちは
は身代金入力:こんにちは
{ 'H':1、 'E' 身代金は、例えば、ユーザが入力して辞書{キー、vaue}に分割されます。図1に示すように、 'L':2 'O':1}
{ 'H':1、 'E':1、 'L':1、 'O':1}
これは返さなければなりませんtrueですが、 'hello'の2番目の 'l'はカウントされないため、falseを返します。私は間違って何をしていますか?
def compare(magazine, ransom):
matches = {}
for ch in ransom:
if ch in magazine:
if ch in matches:
matches[ch] += 1
else:
matches[ch] = 1
if ransom in matches:
return True
else:
return False
「ransom in matches」は、「{h ':1、' o ':1、' l ':2、' e ':1}という単語に属しているかどうかをチェックします。 '。与えられたdictのキーである文字列を提供する場合に限り、 'something in dictionary'は' True'を返すでしょう。 – MaLiN2223