Step 5 (S-12062)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/2232/step/5


Давайте немного практикуемся в использования переменных. Для этого запустим IPython notebook и введем какую-нибудь переменную. Например: а и запишем в нее значение 3.

S-12062-1.png

Нажимаем <Shift> + <Enter> - выполнить ячейку, операция выполнилась, но никакого вывода здесь нет.

S-12062-2.png

Это происходит потому, что оператор присвоения никакого значения не возвращает. Это просто действие. Впрочем, если мы укажем значение а в новой ячейке и выполним код, то в выводе мы увидим значение - 3. Именно то значение, которое мы записали в переменную а.

S-12062-3.png

Мы можем изменить значение переменной. К примеру увеличить ее на 4. Опять же это действие не возвращает никакого значения. Мы можем посмотреть на ее значение, написав имя переменной а и увидеть, что значение стало равным 7

S-12062-4.png

В интерактивном режиме, когда мы вводим в ячейку некое выражение, которое имеет значение, то оно автоматически выводится. Как было в предыдущем случае, мы ввели а и увидели его значение 7. Если у нас в ячейке написано несколько значений, например а и а * 2 выведено будет только последнее значение.

S-12062-6.png

Для того чтобы вывести оба значения, мы должны использовать функцию print. В таком случае, мы видим, что оба значения выведены.

S-12062-5.png

Более того функция print позволяет выводить значения, и в том случае, когда мы работаем не в интерактивном режиме, а просто пишем программу и далее запускаем ее. Давайте напишем программу, которая будет уметь делать следующую вещь: она будет читать имя пользователя и приветствовать его. Для этого заведем переменную name, в которую прочитаем имя пользователя. Напомню, функция input осуществляет чтение с клавиатуры , таким образом name будет указывать на имя, которое пользователь ввел. Далее с помощью print выведем приветствие, указав имя пользователя, записанное в переменной name. Теперь выполним ячейку, появится окошко для ввода, куда нам нужно ввести имя. Вводим имя и жмем <Enter>, видим результат выполнения команды print:

S-12062-7.png

При выводе получили два пробела между словами. Это произошло, потому что аргументы функции print при выводе разделяются пробелом, и у строки "Hello " стоит "лишний" пробел на конце. Для того чтобы пользователю было понятно, что ему нужно ввести, в функции input можно указать сообщение, которое она будет выводить до запроса ввода. Запускаем и видим текст приглашения перед окном ввода:

S-12062-8.png

И результат после ввода имени:

S-12062-9.png

Давайте теперь напишем еще одну программу. Она будет читать число с клавиатуры и выводить это число увеличенное в два раза. Для этого мы снова будем использовать функцию input, которая читает строку. Преобразуем эту строку в число с помощью функции int. И дальше выведем с помощью print это число, умноженное на два. Выглядит это все следующим образом:

S-12062-10.png

Запускаем, вводим число 12 и видим результат 24

Таким образом, с помощью конструкции name = int(input()) можно читать и сохранять числа в переменных. Теперь вернемся к той задаче, о которой мы упоминали - написать программу, которая будет считать произведение двух произвольных чисел. Числа будут вводится пользователем с клавиатуры, каждое число на отдельной строке. С помощью описанной выше конструкции, сохраняем введенное число в переменной а. Аналогичным способом присваиваем значение переменной b и функцией print выводим произведение а и b. Введем числа 5 и 7. Видим результат - их произведение равно 35.

S-12062-11.png