2つのバージョンは、反対の答えを返しますが、常に1つは間違っています。私はどこが間違っているのか分からない。私は一連の他のオプションを試しましたが、これが最も近いと思われます。 EDIT:リストは[]である場合、それに応じて文字列を返す識別、要素がリストにない場合に識別し、リスト内の要素を識別:ループ内Python Loop Iteration問題
目標される必要があります。
def search_for_string(a_list, search_term):
i=0
for search_term in a_list:
i += 1
if a_list[i] == search_term:
return 'string found!'
elif a_list[i] != search_term:
return 'string not found2'
if len(a_list) == 0:
return 'string not found'
apple = search_for_string(['a', 'b', 'c'], 'd')
print(apple)
def search_for_string(a_list, search_term):
i=0
for search_term in a_list:
if a_list[i] == search_term:
return 'string found!'
elif a_list[i] != search_term:
return 'string not found2'
i += 1
if len(a_list) == 0:
return 'string not found'
apple = search_for_string(['a', 'b', 'c'], 'd')
print(apple)
他のテスト:
apple = search_for_string(['a', 'b', 'c'], 'b')
apple = search_for_string([], 'b')
まず、変数search_termの値を上書きしています。たとえば、 'd'として渡していますが、forループが同じ変数名を使用するため、上書きされます。何が起きているのかを見るには、forループの中にsearch_termの値を表示してみてください。 (つまり、forループの最初の行の下に 'print(search_term)'を追加してください)。これはデバッグに役立ちます。 –
あなたは何を意味しているのか分かりませんが、私は何をするべきか分かりません。私は気をつけています。 – Megan
'enumerate() 'を調べるといいでしょう。 – boardrider