← Все вопросы

TypeError: '>' not supported between instances of 'str' and 'int' — сравниваю input с числом

Задан 1 месяц назад466 просмотров2 ответа
7

Делаю проверку возраста, а питон выдаёт TypeError: '>' not supported between instances of 'str' and 'int'.

age = input("Сколько тебе лет? ")
if age > 17:
    print("Совершеннолетний")

Почему нельзя сравнить? Я же ввожу число.

2 ответа

13
✓ Принятый ответ — помог автору

input() всегда возвращает строку, даже если ты набрал цифры. А строку и число питон сравнивать через > не умеет — отсюда ошибка.

Преобразуй ввод в число через int():

age = int(input("Сколько тебе лет? "))
if age > 17:
    print("Совершеннолетний")

Теперь age — целое число, и сравнение работает.

4

Маленький нюанс на будущее: если пользователь введёт не число (например, "двадцать"), int() сам упадёт с ValueError. Для учебных задач это норм, но если хочешь надёжнее — оборачивай в try/except.

Ваш ответ

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