Перейти к содержанию

Получаем ввод от пользователя

Начало урока

Получаем ввод от пользователя

Пусть твоя программа общается с человеком, который её использует

Главная идея: До сих пор твои программы каждый раз делали одно и то же. С помощью input() программа может задать вопрос, дождаться, пока человек напечатает ответ, и использовать этот ответ. Так программа становится интерактивной.
К концу урока ты сможешь:
  • читать то, что печатает пользователь, с помощью input(),
  • понимать, что input() всегда возвращает текст,
  • превращать этот текст в числа с помощью int() и float(),
  • написать маленькую программу, которая задаёт вопросы и считает с ответами.

1. Функция input()

Встроенная функция input() приостанавливает программу и ждёт, пока человек что-нибудь напечатает и нажмёт Enter. То, что он напечатал, возвращается программе, и ты можешь сохранить это в переменную.

В круглые скобки можно поместить короткое сообщение — приглашение (prompt). Оно показывается на экране, чтобы пользователь знал, что печатать.

name = input("What is your name? ")
print("Hello, " + name + "!")

Ожидаемый вывод (пользователь напечатал "Sara"):

What is your name? Sara
Hello, Sara!

Появляется приглашение "What is your name? ", программа ждёт, и слово, которое напечатал пользователь, сохраняется в переменной name. Потом мы используем его в print().

2. input() всегда возвращает ТЕКСТ

Это самая важная мысль урока. Что бы пользователь ни напечатал, input() всегда возвращает это как строку (текст). Даже если он напечатает цифры 10, Python считает это текстом "10", а не числом 10.

age = input("How old are you? ")
print(type(age))

Ожидаемый вывод (пользователь напечатал "10"):

How old are you? 10
<class 'str'>

Сообщение <class 'str'> — это способ Python сказать «это строка». Поэтому такой код ломается: нельзя прибавить число 1 к тексту:

age = input("How old are you? ")
print(age + 1)

Ожидаемый вывод (ошибка!):

How old are you? 10
TypeError: can only concatenate str (not "int") to str
Запомни: на входе — текст, пока ты его не изменишь. Чтобы считать, сначала преврати текст в число.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя