• 13.09.2024 11:35

Мой блог

Программирование и ремонт техники

Тема урока: ввод-вывод данных

  1. Вывод данных, команда print() Перейти–>
  2. Ввод данных, команда input() (Вы здесь)

Аннотация. Ввод и вывод данных в языке Python. Несложные программы, которые умеют что-то выводить на экран (команда print()) и считывать информацию с клавиатуры (команда input()).


Ввод данных, команда input

Все предыдущие программы выводили на экран текст, известный в момент написания программного кода. Однако программы могут работать с данными, которые станут известны только во время выполнения программы. Другими словами, программы могут считывать данные, а затем их использовать.
Для считывания данных в языке Python используется команда input().

Рассмотрим следующую программу:

print('Как тебя зовут?')  # вывод текста

name = input()  # ввод текста и запись в переменную

print('Привет,', name)  # вывод текста

Сначала программа распечатает текст на экран «Как тебя зовут?». Далее программа будет ждать от пользователя ввода данных. Ввод данных реализуется с помощью команды input(). И в конце произойдет вывод текста вместе с введенными от пользователя данными.

Команда input() всегда пишется с круглыми скобками. Она работает так: когда программа доходит до места, где есть input(), она ждет, пока пользователь введёт текст с клавиатуры (ввод завершается нажатием клавиши Enter). Введенная строка подставляется на место input().

Если вы используете IDE VS Code, то у вас ввод будет требоваться в окне терминала. Сюда и нужно вводить текст:

В VS Code после введения текста нужно нажать клавишу Enter после введения текста.

Если вы ввели строку Thomas, программа дальше будет работать так, как будто на месте input() было написано 'Thomas'.

Таким образом, input() получает от пользователя какие-то данные и вместо вызова подставляет строковое значение, в нашем случае записывает его в качестве значения переменной name.

Что такое переменные и что значит сохранить в переменной значение, подробнее поговорим чуть позже, однако для решения следующих задач используйте переменные, которые состоят только из латиницы, не содержат внутри себя пробелов, могут включать символ нижнего подчёркивания. Например, такие названия для переменных хорошие:

name, age, team, string, string_1, string_2, string_777

Примечания

Примечание 1. Очень часто перед считыванием данных мы печатаем некоторый текст, чтобы пользователь, который вводит эти данные, понимал, что именно от него требуется. Например, в программе:

print('Как тебя зовут?')
name = input()
print('Привет,', name)

Мы сначала выведем текст «Как тебя зовут?», а уже потом считаем данные.

Поскольку это достаточно распространённый сценарий, то в языке Python можно выводить текст, передавая его в качестве параметра в команду input(). Предыдущий код можно переписать так:

# сначала тут печатается строка 'Как тебя зовут', а потом принимается на вход имя
name = input('Как тебя зовут?')

# тут просто выводится строка 'Привет', после нее идет пробел и введенное нами имя
print('Привет,', name)

То есть команда input() при наличии аргументов внутри нее отрабатывает одновременно как вывод текста, а потом ввод текста (именно в этом порядке).

Примечание 2. Имейте в виду, что мы можем принимать сразу несколько строк, а потом со всеми ними работать.

name = input()
age = input()

print('Я', name, 'и мне', age, 'лет.')

Например, если на вход будут поданы строки:

Тейлор
34

то программа выведет следующее:

Я Тейлор и мне 34 лет.

Частые ошибки

Сейчас обсудим ошибки, которые учащиеся чаще всего совершают при освоении данной темы.

1. Использование пробелов в названии переменных:

❌ Неправильно:

my name = input()

✅ Правильно:

my_name = input()

Подробнее переменные мы изучим в следующем уроке.

2. Оборачивание переменной в кавычки:

❌ Неправильно:

name = input()
print('Меня зовут', 'name')

В данном случае вы выводите не само значения переменной name, а именно текст 'name'.

✅ Правильно:

name = input()
print('Меня зовут', name)

3. Обработка частного случая, решение не в общем виде – отсутствие приема входных данных через input():

❌ Неправильно:

print('Моего кота зовут', 'Томас')

✅ Правильно:

cat_name = input()
print('Моего кота зовут', cat_name)

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


Эта часть открыта для всех, более того, первая часть (введение) и часть (начало изучения) также будут открыты для всех. Однако далее только по подписке.
Подписку можно оформить по ссылке: https://paywall.pw/glom1jyaymob
Либо в сообществе ВК: https://vk.com/code_program
Цена подписки: 250 рублей в месяц, но, вы можете указать сумму больше, на сколько посчитаете нужным.
Статьи будут выходить регулярно, каждые 2-3 дня.
Разбирать будем от простых, до самых сложных кейсов.
Более того, если вы решите поддержать меня как автора дополнительно, это можно будет сделать в любое время, в каждой статье будет номер карты.


Если дочитали до конца СПАСИБО!
Если поддержите финансово, ОГРОМНОЕ СПАСИБО!!!


Подпишитесь на ежемесячную поддержку автора, так вы поможете мне на развитие.
А я помогу вам, вы получите доступ:

  • к закрытым статьям по программированию и дизайну.
  • к закрытому чату, сможете получить помощь у меня.
  • к эксклюзивным материалам, которые больше нигде не публикуются.
  • в будущем каждый сможет получить небольшой презент от меня.

Подписка доступна в сообществе ВК: https://vk.com/code_program


Ссылки:
- ВК Сообщество Сервисного центра: https://vk.com/sc_novokopylovo
- ВК Сообщество по дизайну и программированию: https://vk.com/code_program
- Канал Инвестиции и заработок в Телеграмм: https://t.me/nb83_invest
- Ютуб-канал: http://www.youtube.com/@nberesnev83
- Одноклассники: https://ok.ru/nberesnev83
- Telegram: https://t.me/nberesnev83
- WhatsApp: https://wa.me/79835522434


Донат можете перевести по номеру карты:

2202 2061 1435 7028 (Сбер)

Постараюсь отчитываться раз в месяц о полученных донатах.
Благодарю всех неравнодушных, огромное вам спасибо!