Главная → Уроки → Информатика 8 класс

§ 5.2. Организация ввода и вывода данных

Прочитай параграф о вводе и выводе данных в Python — функции print с разделителем и окончанием, форматном выводе, функции input, преобразовании строки в число и вводе нескольких значений в одной строке — и ответь на 10 вопросов.

Не получается разобраться? Бесплатный ИИ-репетитор по информатике 8 класс разберёт ошибку по шагам и не даст списать.

Программа из прошлого параграфа уже умеет записывать значения в переменные и вычислять по ним новые. Но вся её работа скрыта от человека: результат остаётся в оперативной памяти, а экран пуст. Кроме того, числа для расчёта вписаны прямо в текст программы, и для другой задачи его приходится править. В этом параграфе программа научится показывать результаты на экране и спрашивать исходные данные у того, кто с ней работает.

Вывод на экран: print()

Данные из памяти на экран выводит функция print (по-английски «печатать»). В скобках через запятую перечисляют всё, что нужно показать:

print(<выражение 1>, <выражение 2>, ..., <выражение N>)

Этот перечень называется списком вывода. В нём могут стоять числа, имена переменных, выражения вроде a * 2, логические значения True и False, строки. Python по очереди вычисляет каждый элемент и показывает результат. Строку в кавычках он печатает буква в букву, сами кавычки на экран не попадают. Имя без кавычек — переменная, и на экране окажется её значение. Поэтому print('k') покажет букву k, а print(k) — число, которое хранится в k.

Дано: переменная ves равна 42, выполняется оператор

print('Вес:', ves, 'кг')

Какая строка появится на экране?

Решение. В списке вывода три элемента. Первый и третий — строки, они печатаются так, как записаны. Второй — имя переменной, вместо него печатается число из ячейки ves. Между соседними элементами print сам вставляет по одному пробелу.

Ответ: Вес: 42 кг.

Разделитель sep

Пробел, который print ставит между значениями, называют разделителем (от английского separator). Его можно заменить. Для этого в конце списка вывода пишут слово sep, знак = и новый разделитель в кавычках. Вот что выводят одни и те же три числа при разных разделителях:

print(6, 2, 9) — на экране 6 2 9, разделитель обычный, пробел; print(6, 2, 9, sep='') — на экране 629, разделитель пустой, и цифры слились в одно число; print(6, 2, 9, sep='-') — на экране 6-2-9; print(6, 2, 9, sep='; ') — на экране 6; 2; 9, разделитель из двух знаков, точки с запятой и пробела; print(6, 2, 9, sep='\n') — три строки, по числу на каждой: пара знаков \n означает переход на новую строку.

Последний пример показывает, что разделитель — не обязательно видимый знак.

Конец вывода: end

Закончив список, print переносит курсор на новую строку. Поэтому каждый новый print обычно пишет с новой строки. Чем закончить вывод, задаёт параметр end. Обычно в нём стоит тот самый переход на новую строку, а если написать end='', перехода не будет, и следующий print продолжит ту же строку. В конец можно поставить и любой текст. Например, три оператора

print('Раз', end=', ') print('два', end='... ') print('три!')

выводят одну строку: Раз, два... три! Только последний print переводит курсор на новую строку. Если же нужна пустая строка, пишут print() без списка вывода.

Как print собирает строку экрана из значений, разделителей и окончания, показано на рисунке 1.

Сверху строка кода print(x, y, z, sep='-', end='!'). Под ней три ячейки списка вывода: x со значением 15, y со значением 4, z со значением 80. От ячеек стрелки вниз к строке экрана из клеток: 15, затем дефис, 4, дефис, 80 и восклицательный знак. Дефисы подписаны «sep — между значениями», восклицательный знак — «end — после последнего». Справа за восклицательным знаком пустая клетка с пунктирной рамкой, к ней сверху пунктирная стрелка с надписью «следующий print — с этого места»
Рис. 1. Строка экрана из значений списка вывода: между ними разделитель sep, в конце окончание end.

Форматный вывод

Когда чисел много, их хочется выводить ровными столбцами, а у дробных чисел оставлять разумное число знаков. Для этого задают формат вывода — сколько знакомест (позиций экрана) отвести под значение. В Python форматный вывод строят функцией format:

print('{:5}{:5}'.format(x, y))

Строка в кавычках слева от точки — форматная строка, она описывает, как выглядит вывод. Каждая пара фигурных скобок — место для очередного значения из скобок после format: первое место получит x, второе — y. Число после двоеточия — ширина места. Когда у числа цифр меньше, чем позиций, лишние позиции слева занимают пробелы, и число стоит у правого края своего места. Когда позиций мало, Python берёт столько, сколько нужно, и ни одной цифры не теряет.

Хочешь больше времени в телефоне?

В Family Track телефон открывается за уроки: прочитал параграф, сдал тест и получил минуты. Сколько минут стоит урок, решают родители. Отправь им ссылку, пусть посмотрят.

Отправить родителямПройти урок бесплатно

Вопросы из теста

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

Какой оператор выведет на экран строку 3/4/5?

В программе есть строка, записанная ниже. Пользователь набрал 7.5 и нажал Enter. Что произойдёт?

Не получается разобраться? Бесплатный ИИ-репетитор по информатике 8 класс разберёт ошибку по шагам и не даст списать.

← § 5.1. Общие сведения о языке программирования Python§ 5.3. Программирование линейных алгоритмов →