0

Ввод данных в питоне

Мы уже встречались с функцией print() . Она отвечает за вывод данных, по-умолчанию на экран. Если код содержится в файле, то без нее не обойтись. В интерактивном режиме в ряде случаев можно обойтись без нее.

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

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

Можно сказать, что программа – это открытая система, которая обменивается чем-либо с внешней для нее средой. Если живой организм в основном обменивается веществом и энергией, то программа – данными, информацией.

Вывод данных. Функция print()

Что такое функция в программировании, узнаем позже. Пока будем считать, что print() – это такая команда языка Python, которая выводит то, что в ее скобках на экран.

В скобках могут быть любые типы данных. Кроме того, количество данных может быть различным:

Можно передавать в функцию print() как непосредственно литералы (в данном случае "a:" и 1 ), так и переменные, вместо которых будут выведены их значения. Аргументы функции (то, что в скобках), разделяются между собой запятыми. В выводе вместо запятых значения разделены пробелом.

Если в скобках стоит выражение, то сначала оно выполняется, после чего print() уже выводит результат данного выражения:

В print() предусмотрены дополнительные параметры. Например, через параметр sep можно указать отличный от пробела разделитель строк:

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

Обычно, если end используется, то не в интерактивном режиме, а в скриптах, когда несколько выводов подряд надо разделить не переходом на новую строку, а, скажем, запятыми. Сам переход на новую строку обозначается комбинацией символов "
" . Если присвоить это значение параметру end, то никаких изменений в работе функции print() вы не увидите, так как это значение и так присвоено по-умолчанию:

Однако, если надо отступить на одну дополнительную строку после вывода, то можно сделать так:

Следующее, что стоит рассказать о функции print() – это использование форматирования строк. На самом деле это никакого отношения к print() не имеет, а применяется к строкам. Но обычно используется именно в сочетании с функцией print().

Форматирование может выполняться в так называемом старом стиле или с помощью строкового метода format. Старый стиль также называют Си-стилем, так как он схож с тем, как происходит вывод на экран в языке C. Рассмотрим пример:

Здесь вместо трех комбинаций символов %s , %d , %f подставляются значения переменных pupil, old, grade. Буквы s, d, f обозначают типы данных – строку, целое число, вещественное число. Если бы требовалось подставить три строки, то во всех случаях использовалось бы сочетание %s.

Читайте также:  Болят глаза от ноутбука что делать

Хотя в качестве значения переменной grade было указано число 9.2, на экран оно вывелось с дополнительными нулями. Однако мы можем указать, сколько требуется знаков после запятой, записав перед буквой f точку с желаемым числом знаков в дробной части:

Теперь посмотрим на метод format():

В строке в фигурных скобках указаны номера данных, которые будут сюда подставлены. Далее к строке применяется метод format(). В его скобках указываются сами данные (можно использовать переменные). На нулевое место подставится первый аргумент метода format(), на место с номером 1 – второй и т. д.

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

Ввод данных. Функция input()

За ввод в программу данных с клавиатуры в Python отвечает функция input(). Когда вызывается эта функция, программа останавливает свое выполнение и ждет, когда пользователь введет текст. После этого, когда он нажмет Enter, функция input() заберет введенный текст и передаст его программе, которая уже будет обрабатывать его согласно своим алгоритмам.

Если в интерактивном режиме ввести команду input(), то ничего интересного вы не увидите. Компьютер будет ждать, когда вы что-нибудь введете и нажмете Enter или просто нажмете Enter. Если вы что-то ввели, это сразу же отобразиться на экране:

Функция input() передает введенные данные в программу. Их можно присвоить переменной. В этом случае интерпретатор не выводит строку сразу же:

В данном случае строка сохраняется в переменной answer, и при желании мы можем вывести ее значение на экран:

При использовании функции print() кавычки в выводе опускаются:

Куда интересней использовать функцию input() в скриптах – файлах с кодом. Рассмотрим такую программу:

При запуске программы, компьютер ждет, когда будет введена сначала одна строка, потом вторая. Они будут присвоены переменным nameUser и cityUser . После этого значения этих переменных выводятся на экран с помощью форматированного вывода.

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

Обратите внимание, что в программу поступает строка. Даже если ввести число, функция input() все равно вернет его строковое представление. Но что делать, если надо получить число? Ответ: использовать функции преобразования типов.

В данном случае с помощью функций int() и float() строковые значения переменных qtyOranges и priceOrange преобразуются соответственно в целое число и вещественное число. После этого новые численные значения присваиваются тем же переменным.

Программный код можно сократить, если преобразование типов выполнить в тех же строках кода, где вызывается функция input():

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

Практическая работа

Напишите программу (файл user.py), которая запрашивала бы у пользователя:
– его имя (например, "What is your name?")
– возраст ("How old are you?")
– место жительства ("Where are you live?")
После этого выводила бы три строки:
"This is имя "
"It is возраст "
"(S)he live in место_жительства "
Вместо имя , возраст , место_жительства должны быть данные, введенные пользователем. Примечание: можно писать фразы на русском языке, но если вы планируете стать профессиональным программистом, привыкайте к английскому.

Читайте также:  Для чего нужна программа daemon tools lite

Напишите программу (файл arithmetic.py), которая предлагала бы пользователю решить пример 4 * 100 – 54. Потом выводила бы на экран правильный ответ и ответ пользователя. Подумайте, нужно ли здесь преобразовывать строку в число.

Запросите у пользователя четыре числа. Отдельно сложите первые два и отдельно вторые два. Разделите первую сумму на вторую. Выведите результат на экран так, чтобы ответ содержал две цифры после запятой.

Примеры решения и дополнительные уроки в android-приложении и pdf-версии курса.

Ввод данных с клавиатуры осуществляется с помощью функции input(). После выполнения данной функции программа ожидает ввода данных и после нажатия "Enter" записывает их в переменную или возвращает результат на экран.

Существуют 4 вида ввода:

Это означает, что в переменную a будет записано целое число (int – integer).

Чтобы программа начала работать, можно нажать F5 или Run Module (после этого Python предложит ее сохранить, так как он не может работать с несохраненными программами):

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

На строке, идущей после двух наборов стрелочек (в данном случае на шестой) будет мигающий курсор. Вам надо будет ввести любое целое число и нажать "Enter". После этого программа начнет работать и выведет введенное число.

"float" означает ввод действительного числа. При вводе нецелого числа Вы должны разделить целую и дробную часть точкой. Например, "34.75"

"str" означает ввод строки. Например, "qwerty" или "Hello, Python!" (str – string).

Это означает ввод любых двух и более элементов. Скобки после "split" используются для того, чтобы задать, чем будут разделяться переменные (по умолчанию пробел). Например:

С помощью этих функций можно преобразовать действительное число в дробное (при этом чсло округляется в меньшую сторону), число в строку и так далее:

В скобки после "input" можно ввести любой текст в кавычках. Например:

После начала работы у Вас откроется окно с заданным текстом:

В которое Вы можете ввести свою переменную.

Приятное общение пользователя с Python – одна из многих привлекательных черт программы. Простота, современность, лаконичность и понятность – вот чем завораживает программный продукт. Самыми первыми уроками для начинающих пользователей является изучение ввода и вывода информации. В Python input (ввод) и print (вывод) облегчают жизнь разработчикам.

Введение

Все без исключения программные продукты обрабатывают и выводят данные. Только в некоторых информация заложена изначально, а в других она поступает извне. Черпать данные можно из файлов либо непосредственно из вводимого пользователем текста. Во втором случае предполагается интерактивный режим работы. Получается, пользователь вводит информацию, программа ее обрабатывает и выводит на экран. В таком случае говорят, что код не замкнут на себе, а может «общаться» с внешней средой. Так, для ввода информации в последних версиях Python input используется.

Вывод информации

Для печати любых данных на экране используется стандартная встроенная функция print. В версии "Питона" 3 после слова print идут круглые скобки, в которых указывается выводимая информация. В версии 2.7 после зарезервированной команды print круглых скобок быть не должно.

Читайте также:  Как взломать контроль учетных записей

В ранней версии после слова print написать переменную и поставить запятую будет означать подавление перевода строки. В новой редакции "Питона" с командой вывода в круглых скобках указывается переменная и end=” ”. Это означает добавление пробела вместо перевода строки.

В старой версии допускается написание только команды print, что означает Enter. В новой редакции необходимо вызвать функцию. Запись print () некорректна.

В одной команде с print в Python input работает. Об этой команде поговорим ниже.

Ввод информации

Чтобы ввести данные с консоли, необходима команда raw_input (Python 2.7). Она выводит приглашение пользователю, ожидает ввода данных и осуществляет дальнейшую работу в соответствии с поступившими аргументами. В 3-й версии Python input используется. В чем разница между двумя командами?

В более ранних версиях (2.7) raw_input была необходима для ввода строковых типов данных. Если нужно было получить число, то команда выполнялась с функцией int(). Эта функция переводила число из строки в целый тип. В этой же версии функции input Python вводила численные выражения, и использовать дополнительно int не было необходимости. Разработчики Python 3.0 устранили raw_input и оставили только input. Если через input в новой версии ввести число, то нужно дополнительно задействовать int или float, чтобы получить целочисленное или вещественное выражение. Если использовать команду с пустыми круглыми скобками, то программа будет ожидать действий со стороны пользователя.

По мнению некоторых экспертов, использовать в Python input string не рекомендуется, поскольку интерпретатор может выполнять синтаксические действия через эту команду. Это чревато брешью в безопасности программного кода.

Если в Python 3.0 не «оцифровать» строку, то при выполнении математических действий введенные данные будут складываться как строки.

Вот так должен выглядеть правильный фрагмент программы с использованием input и числовых данных.

Задачи с решением и алгоритмом

1. Создать программу, которая будет спрашивать у пользователя его имя и возраст. Вывести на экран сообщение, в котором говорится, сколько лет ему было бы через век.

  • вывести на экран приглашение для дальнейшего ввода имени и возраста;
  • произвести необходимые математические расчеты;
  • вывести сообщение по типу: «Марина, 100 лет Вам исполнится в 2099 году»

2. Написать программу, в которой даются 2 строки. Поменять между собой 2 первых символа каждой строки.

  • присвоить новой переменной сумму срезов;
  • присвоить второй переменной сумму срезов;
  • вернуть значение функции;
  • вывести на экран результат.

Задачи на закрепление

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

2. Составить программный код, который будет запрашивать у пользователя коэффициенты квадратного уравнения. В дальнейшем на экран должны выводиться корни квадратного уравнения.

3. Написать программу, в которой выводится приглашение пользователю решить математический пример: 4*100-54. Если вводится правильный ответ, то появляется сообщение с поздравлениями. Если же нет, на экран выводится уведомление об ошибке. Дополнительно нужно переделать программу, в которой в цикле while эти действия будут повторяться до тех пор, пока пользователь не введет правильный ответ.

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *