"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В.М. Котов, А.И. Лапо, Е.Н. Войтехович
Ввод данных позволяет программе получать значения от пользователя во время работы, а не использовать только заранее записанные числа и текст. В Python для этого служит функция input(): она ждёт, пока человек введёт ответ и нажмёт Enter. Полученное значение сохраняют в переменной, чтобы применить дальше. Результат input() всегда является строкой, поэтому перед вычислениями введённое число обычно преобразуют функцией int() или float().
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Ввод данных — передача программе значений, которые она использует при выполнении. Например, пользователь может сообщить программе своё имя или число, с которым нужно посчитать. Благодаря вводу одна программа подходит для разных людей и ситуаций. Иначе каждое новое значение пришлось бы заранее записывать в её команды.
Функция input() — средство Python для получения строки, введённой пользователем с клавиатуры. Функция — это команда, которая выполняет определённое действие, когда программа её вызывает. input() нужна, чтобы получить ответ во время работы программы. Полученное значение можно присвоить переменной и использовать позже.
Строка — последовательность символов, например букв, цифр и знаков препинания. Результат работы input() имеет строковый тип даже тогда, когда пользователь набрал цифры. Это нужно учитывать, чтобы программа правильно понимала значение. Например, строка «12» и число 12 выглядят похоже, но с ними можно выполнять разные действия.
Преобразование типа — изменение представления значения, например преобразование строки в целое число с помощью int(). Это требуется, когда введённые символы нужно использовать в вычислениях. Для вещественного числа применяют float(). Выбор подходящей функции помогает программе обрабатывать значение как число, а не как текст.
Когда программа доходит до input(), она приостанавливает выполнение и ждёт ответа. Это необходимо, чтобы пользователь успел прочитать запрос и ввести значение, прежде чем программа продолжит работу. После ввода нужно нажать Enter: так компьютер понимает, что ответ закончен. Если Enter не нажать, программа продолжит ждать, даже если символы уже появились на экране.
Функция input() возвращает набранные символы как строку, потому что сама по себе не знает, какой смысл пользователь вкладывает в ответ. Например, символы «25» могут быть числом, частью номера или просто текстом. Сначала программа получает именно последовательность символов, а нужное значение ей задаёт дальнейшая обработка. Поэтому не следует считать, что цифры автоматически становятся числом.
Чтобы вычислять с введённым числом, строку преобразуют в числовой тип. int() подходит для целых чисел, а float() — для вещественных, у которых может быть дробная часть. Это преобразование нужно, потому что арифметические действия рассчитаны на числовые значения, а не на текстовые строки. Если преобразовать строку невозможно, например передать в int() слово, программа сообщит об ошибке.
В круглых скобках input() можно написать текст-приглашение, например «Введите имя: ». Он подсказывает, какой ответ ожидается, и делает работу с программой понятнее. Приглашение только отображается на экране: пользователь вводит значение отдельно, после него. Поэтому в переменную попадают введённые символы, а не текст подсказки.
Ввод часто сразу связывают с переменной: например, имя = input("Введите имя: "). Так ответ получает понятное имя, и к нему можно обратиться в следующих командах. Переменная хранит значение, пока программа выполняется, поэтому его не нужно вводить заново для каждого действия. Если значение предназначено для вычислений, его преобразуют при вводе или перед первым вычислением.
Сравнивая способы в таблице, обращай внимание не только на то, как программа просит данные, но и на тип результата. Если в задаче нужны вычисления, выбирай вариант с преобразованием. Приглашение помогает пользователю, но не меняет тип введённого значения.
| Средство | Назначение | Результат |
|---|---|---|
| input() без текста-приглашения | Получить введённые пользователем символы без подсказки | Строка |
| input() с текстом-приглашением | Показать подсказку и получить введённые символы | Строка; приглашение не входит в значение |
| int(input()) | Получить ввод и преобразовать его в целое число | Целое число, если ввод подходит |
| float(input()) | Получить ввод и преобразовать его в вещественное число | Вещественное число, если ввод подходит |
Задача 1. Составить программу, которая запрашивает имя пользователя и выводит приветствие. Имя состоит из символов, поэтому его не нужно превращать в число. Сначала нужно получить строку и сохранить её в переменной. Затем эту переменную можно использовать в выводе, чтобы приветствие было личным.
Пример программы: имя = input("Как тебя зовут? ") и затем print("Привет,", имя). Если пользователь ввёл Аня, на экране появится «Привет, Аня». Ответ: программа считывает имя как строку и использует его при выводе приветствия.
Задача 2. Ввести целое число и вывести число, увеличенное на 1. Чтобы прибавить единицу, программе нужно получить число, а не строку. Поэтому результат input() сразу передаём в int(). После преобразования значение можно прибавлять и сохранять либо сразу выводить.
Если пользователь ввёл 8, программа выведет 9. Без int() выражение с двумя строками может соединять их, а не выполнять сложение чисел. Ответ: нужно преобразовать ввод в целое число, прибавить единицу и вывести полученное значение.
Задача 3. Ввести длину и ширину прямоугольника и найти его площадь. Площадь прямоугольника равна произведению его длины и ширины: S = a × b. Значит, программа должна получить два значения и представить их как числа. Для этой задачи подойдут целые числа, если размеры заданы без дробной части.
Например, при длине 5 и ширине 3 программа вычислит 5 × 3 = 15. Если размеры могут быть дробными, вместо int() используют float(). Ответ: площадь равна произведению введённых длины и ширины, а обе величины перед вычислением должны иметь числовой тип.
Ошибка: считать, что input() сразу возвращает число. Так думают, потому что введённые цифры на экране выглядят как обычное число. На деле результат имеет строковый тип, и арифметика может работать не так, как ожидается. Проверь себя: если значение предназначено для вычисления, используй int() или float() и убедись, что преобразование происходит до вычисления.
Ошибка: забыть преобразовать введённые данные перед сложением или умножением. При сложении двух строк Python может соединить их, а не сложить числа; другие действия могут вызвать ошибку. Это происходит, когда программист ориентируется на вид цифр и не учитывает тип значения. Проверь, каким способом введены данные, и при необходимости оберни input() в функцию преобразования.
Ошибка: ввести текст там, где программа ожидает число. Например, int() не может превратить слово «семь» в целое число. Пользователь может не заметить подсказку или не знать, что требуется ввести цифры. Проверь текст приглашения и введи значение в нужном формате; если программа ожидает число, одного текста вместо него недостаточно.
Ошибка: принять текст-приглашение за вводимое значение. Подсказка в скобках input() отображается на экране, но не сохраняется вместе с ответом. Путаница возникает, потому что и подсказка, и введённое значение видны рядом. Проверь, что именно присвоено переменной: в результат попадают символы, набранные после приглашения, а не сама подсказка.
Для работы с вводом полезны навыки запуска программы, создания переменных и вывода результата: они помогают получить значение, сохранить его и показать ответ. Ввод данных превращает программу из набора действий с заранее заданными числами в инструмент, который решает задачу по ответам пользователя. Преобразование типов связывает ввод с темой типов данных, поскольку строка и число обрабатываются по-разному. Это особенно важно в программах, которые получают текст, выполняют вычисления и затем выводят результат.
Почему input() возвращает строку, даже если я ввёл число?
input() получает символы, набранные на клавиатуре, и возвращает их как строку. Функция не угадывает, собирался ли пользователь ввести число или текст. Чтобы считать с таким значением, его нужно преобразовать.
Как получить из ввода целое число?
Помести вызов input() внутрь int(): например, число = int(input()). Пользователь вводит значение, input() возвращает строку, а int() преобразует её в целое число. Если ввести неподходящий текст, преобразование завершится ошибкой.
Чем отличаются int() и float()?
int() преобразует значение в целое число, например 7. float() преобразует его в вещественное число, которое может иметь дробную часть, например 7.5. Выбирай тип в зависимости от того, какие значения нужны для задачи.
Для чего указывать текст внутри input()?
Текст в скобках показывает пользователю, какие данные нужно ввести, например имя или длину стороны. Он отображается на экране перед вводом. Сам текст-приглашение не становится частью результата input().
Что произойдёт, если ввести буквы вместо числа?
Если программа пытается преобразовать буквы в число с помощью int() или float(), преобразование не удаётся и возникает ошибка. Поэтому нужно вводить значение подходящего вида. Программа также может заранее проверять ввод, но это отдельный приём.
14.4. Ввод данных