Почему функция возвращает None?

Добрый день.
Написал функцию которая просит игрока ввсести Х или О
Если игрок вводит Х или О с первого раза, то функция возвращает эту букву корректно. Но если ввести другую букву, а потом правильную, то функция возвращает None хотя print выводит букву корректно.
Подскажите где ошибка.
def player_input() -> str:
    choice_of_symbol = input("Выберите Х или О \n").upper()
    if choice_of_symbol == "X" or choice_of_symbol == "O":
        print(choice_of_symbol)
        return choice_of_symbol
    else:
        player_input()


symbol = player_input()
print(symbol)
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
Потому что у тебя в рекурсивном кейсе отсутствует return Когда функция не имеет return python возвращает None
...
else:
    return player_input()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы