До этого момента все наши программы работали одинаково.
Например,
print("Привет!")
или
age = 25
print(age)
Каждый запуск программы выдаёт один и тот же результат.
Но обычно программы должны уметь общаться с пользователем.
Для этого в Python существует функция input().
Получаем данные от пользователя
Самый простой пример выглядит так:
name = input("Как вас зовут? ")
Когда программа дойдёт до этой строки, она остановится и будет ждать, пока пользователь что-нибудь введёт.
Например:
Как вас зовут? Анна
После нажатия Enter введённый текст сохранится в переменной name.
Теперь можно использовать его дальше.
print(name)
Результат:
Анна
Можно сразу поздороваться
Например,
name = input("Как вас зовут? ")
print("Привет,", name)
Если пользователь введёт
Антон
то программа выведет
Привет, Антон
Получается, что одна и та же программа может работать по-разному в зависимости от введённых данных.
input() всегда возвращает строку
Попробуем написать программу:
age = input("Сколько вам лет? ")
print(age)
Если ввести
25
на экран снова попадёт
25
Но здесь есть небольшой подвох.
Для Python это не число, а строка.
Почему это важно?
Посмотрите на пример.
age = input("Возраст: ")
print(age + 1)
Кажется, что программа должна вывести возраст на один год больше.
Но вместо этого появится ошибка.
Почему?
Потому что нельзя складывать строку и число.
Как превратить строку в число?
Для этого существует функция int().
age = int(input("Возраст: "))
Теперь программа работает так:
- получает текст от пользователя;
- превращает его в число;
- сохраняет результат в переменной.
Теперь можно спокойно писать
print(age + 1)
Если пользователь введёт
25
то программа выведет
26
Если введено не число
А что произойдёт, если пользователь напишет
двадцать пять
или
hello
Python не сможет превратить такой текст в число и завершит программу с ошибкой.
Пока это нормально.
Чуть позже мы научимся обрабатывать подобные ситуации.
Что мы сегодня узнали
Сегодня мы сделали программу интерактивной.
print()выводит информацию на экран.input()получает данные от пользователя.- Всё, что вводит пользователь, Python сначала считает строкой.
- Чтобы получить число, используют функцию
int().
Попробуйте сами
Напишите программу, которая спрашивает имя пользователя и его возраст.
После этого выведите сообщение:
Привет, Анна!
Через год тебе будет 26 лет.
Подсказка:
name = input("Как тебя зовут? ")
age = int(input("Сколько тебе лет? "))
print("Привет,", name)
print("Через год тебе будет", age + 1, "лет.")
Попробуйте:
- ввести разные имена;
- изменить возраст;
- специально ввести текст вместо числа и посмотреть, что произойдёт.
Не бойтесь получать ошибки — они помогают понять, как работает программа.
Что дальше?
Теперь программа умеет получать данные от пользователя.
Но как сделать так, чтобы она выполняла разные действия в зависимости от ответа?
Например:
- если возраст больше 18 — вывести одно сообщение;
- иначе — другое.
Для этого в Python существуют условные операторы, с которыми мы познакомимся в следующей статье.