Я думаю, что guess
под вашим elif
должно быть:
guess = input("Enter a bone or q to quit: ")
Вместо:
guess = ("Enter a bone or q to quit: ")
Что происходит, вы вошли в свою первую кость, котораязаставляет ваш код попасть сюда:
print("We got a match on index ",foot_bones.index(guess.lower()))
#Removes the previous guess from the list to ensure the user can't answer the same thing again
foot_bones.remove(guess.lower())
guess = ("Enter a bone or q to quit: ")
correct_answers += 1
answers_left -= 1
Этот блок выполняется.Обратите внимание, что для guess
установлено значение "enter a bone or q to quit: "
.Вы не просите ввода.
Итак, теперь это предположение "enter a bone or q to quit: "
, мы достигаем конца того, что находится под циклом, и перезапускаем его.
Поскольку guess.lower()
не находится в foot_bones
и не "q"
, вы в конечном итоге получите оператор else
.