Ввод данных с клавиатуры осуществляется с помощью функции 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 является не первым языком, поскольку здесь будут разобраны особености, которые не имеют аналогов в других языках.

Объявление переменных

Во первых стоит отметить что Python является языком с динамической типизацией. Это означает что любая переменная может содержать любые значение. Это отличается от тех же переменных, например, в C++. Там нужно явно указывать тип, значение которого будет содержать переменная.

Теперь давайте посмотрим как мы можем создать переменную и присвоить ей значение:

В данном примере мы создаем две переменные: foo и bar . Первая переменная содержит число, а вторая строку. Подробнее о типах в Python в следующем уроке. Как видите, для того чтобы присвоить переменной значение достаточно слева от оператора = указать ее имя, а с права ее значение. Если во время присваивания такой переменной нет, то интерпретатор Python’a создаст новую переменную с указанным именем и присвоит ей указанное значение.

Переменные в Python следует именовать в нижнем регистре и слова разделять нижним подчеркиванием: _ . Например: max_age , init_state .

После объявления переменной мы можем ее использовать в любом выражении. В нашем примере, мы передали переменную bar в функцию print() .

Вот результат работы программы:

Мы также можем указать значение для нескольких переменных за одну операцию:

Мы уже встречались с функцией 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 место_жительства "
Вместо имя , возраст , место_жительства должны быть данные, введенные пользователем. Примечание: можно писать фразы на русском языке, но если вы планируете стать профессиональным программистом, привыкайте к английскому.

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

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

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