На Горох
Информатика, 7 класс

14.4. Ввод данных

"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В.М. Котов, А.И. Лапо, Е.Н. Войтехович

Объяснение темы В оглавлении: 14.4. Ввод данных

Кратко о теме

Ввод данных позволяет программе получать значения от пользователя во время работы, а не использовать только заранее записанные числа и текст. В 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. Составить программу, которая запрашивает имя пользователя и выводит приветствие. Имя состоит из символов, поэтому его не нужно превращать в число. Сначала нужно получить строку и сохранить её в переменной. Затем эту переменную можно использовать в выводе, чтобы приветствие было личным.

  1. Выбираем переменную имя: в ней будет храниться ответ пользователя.
  2. Записываем имя = input("Как тебя зовут? "). Текст в скобках подсказывает, что вводить.
  3. Выводим приветствие командой print("Привет,", имя). Запятая позволяет вывести текст и значение переменной вместе.

Пример программы: имя = input("Как тебя зовут? ") и затем print("Привет,", имя). Если пользователь ввёл Аня, на экране появится «Привет, Аня». Ответ: программа считывает имя как строку и использует его при выводе приветствия.

Задача 2. Ввести целое число и вывести число, увеличенное на 1. Чтобы прибавить единицу, программе нужно получить число, а не строку. Поэтому результат input() сразу передаём в int(). После преобразования значение можно прибавлять и сохранять либо сразу выводить.

  1. Создаём переменную число и записываем число = int(input("Введите целое число: ")).
  2. При вводе 8 функция input() получает строку «8», а int() превращает её в число 8.
  3. Вычисляем число + 1 и выводим результат командой print(число + 1).

Если пользователь ввёл 8, программа выведет 9. Без int() выражение с двумя строками может соединять их, а не выполнять сложение чисел. Ответ: нужно преобразовать ввод в целое число, прибавить единицу и вывести полученное значение.

Задача 3. Ввести длину и ширину прямоугольника и найти его площадь. Площадь прямоугольника равна произведению его длины и ширины: S = a × b. Значит, программа должна получить два значения и представить их как числа. Для этой задачи подойдут целые числа, если размеры заданы без дробной части.

  1. Запрашиваем длину и преобразуем её: длина = int(input("Введите длину: ")).
  2. Таким же способом получаем ширину: ширина = int(input("Введите ширину: ")).
  3. Вычисляем площадь = длина * ширина и выводим результат командой print(площадь).

Например, при длине 5 и ширине 3 программа вычислит 5 × 3 = 15. Если размеры могут быть дробными, вместо int() используют float(). Ответ: площадь равна произведению введённых длины и ширины, а обе величины перед вычислением должны иметь числовой тип.

Типичные ошибки

Ошибка: считать, что input() сразу возвращает число. Так думают, потому что введённые цифры на экране выглядят как обычное число. На деле результат имеет строковый тип, и арифметика может работать не так, как ожидается. Проверь себя: если значение предназначено для вычисления, используй int() или float() и убедись, что преобразование происходит до вычисления.

Ошибка: забыть преобразовать введённые данные перед сложением или умножением. При сложении двух строк Python может соединить их, а не сложить числа; другие действия могут вызвать ошибку. Это происходит, когда программист ориентируется на вид цифр и не учитывает тип значения. Проверь, каким способом введены данные, и при необходимости оберни input() в функцию преобразования.

Ошибка: ввести текст там, где программа ожидает число. Например, int() не может превратить слово «семь» в целое число. Пользователь может не заметить подсказку или не знать, что требуется ввести цифры. Проверь текст приглашения и введи значение в нужном формате; если программа ожидает число, одного текста вместо него недостаточно.

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

Связь с другими темами

Для работы с вводом полезны навыки запуска программы, создания переменных и вывода результата: они помогают получить значение, сохранить его и показать ответ. Ввод данных превращает программу из набора действий с заранее заданными числами в инструмент, который решает задачу по ответам пользователя. Преобразование типов связывает ввод с темой типов данных, поскольку строка и число обрабатываются по-разному. Это особенно важно в программах, которые получают текст, выполняют вычисления и затем выводят результат.

Что запомнить

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

Частые вопросы по теме

Почему input() возвращает строку, даже если я ввёл число?

input() получает символы, набранные на клавиатуре, и возвращает их как строку. Функция не угадывает, собирался ли пользователь ввести число или текст. Чтобы считать с таким значением, его нужно преобразовать.

Как получить из ввода целое число?

Помести вызов input() внутрь int(): например, число = int(input()). Пользователь вводит значение, input() возвращает строку, а int() преобразует её в целое число. Если ввести неподходящий текст, преобразование завершится ошибкой.

Чем отличаются int() и float()?

int() преобразует значение в целое число, например 7. float() преобразует его в вещественное число, которое может иметь дробную часть, например 7.5. Выбирай тип в зависимости от того, какие значения нужны для задачи.

Для чего указывать текст внутри input()?

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

Что произойдёт, если ввести буквы вместо числа?

Если программа пытается преобразовать буквы в число с помощью int() или float(), преобразование не удаётся и возникает ошибка. Поэтому нужно вводить значение подходящего вида. Программа также может заранее проверять ввод, но это отдельный приём.

Спросить по теме параграфа

14.4. Ввод данных

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
7 класс
Учебник
"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В.М. Котов, А.И. Лапо, Е.Н. Войтехович