現在、ユーザーが入力した単語を検索して、シーケンス (x) を反復処理するコードを作成しようとしています。
以下はコードです。
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
i = -1
while True:
s = input("Enter a word to search: ")
if s != "Quit":
try:
while i < len(x):
i = x.index(s, i+1)
print("found at index", i)
except ValueError:
print("Not found")
i = -1
else:
break
print("Goodbye")
上記のコードは反復を通じて正常に機能しますが、シーケンスを反復した後は常に ValueError を返します。以下を追加して、これを修正しようとしました。
while i < len(x):
シーケンスの最後に到達すると反復が停止すると考えていますが、シーケンスから見つかった値を返した後も例外をスローし続けます。
たとえば、ユーザーが「9」を入力すると、次のものが返されます。
found at index 8
Not found