В любом языке программирования есть такая штука, как переменные. Это как в школьной алгебре: вот переменная a = 1, вот переменная b = 2. То есть это такие абстрактные штуки, внутри них лежит значение, которое может меняться — например, когда ты пишешь после переменной знак равно и какое‑то новое значение.
a = 2
a = a + 2
print(a)
Ну, то, что print(a) — это команда, которая печатает на экране текущее значение переменной, ты уже понял. Ты написал после знака равно снова саму переменную + 2, то есть сначала в переменной было значение 2, потом к этому значению прибавили еще 2. На экране гордо красуется 4. Поздравляю, два и два сложили!
А если изначально неизвестно, какие числа надо складывать? Тогда пришлось бы сперва попросить пользователя ввести их в консоли и нажать Enter. Давай так и сделаем:
a = input('Введи, сколько у тебя литров газировки: ')
b = input('Сколько газировки принес друг: ')
c = int(a) + int(b)
print('На двоих у вас: ' + str(c) + ' литров газировки')
Внутри скобочек у input ты пишешь пояснение для пользователя (юзера), что конкретно его просят ввести. Но вот беда, по умолчанию все, что вводится через input, считается не числом, а строкой, поэтому, прежде чем складывать количество литров газировки, нужно сначала преобразовать введенные строки в числа с помощью функции int().
Окей, преобразовал строки в числа, положил их в переменную c, а дальше‑то что, что внутри скобок у print? Тут складываются строки (строки всегда пишутся внутри кавычек), поясняющие, что именно выводится на экран, а результат сложения передается в функцию print().
Чтобы строки безболезненно сложились с переменной c, в которой лежит число, надо преобразовать его в строку функцией str() — так же как мы превращали строки в числа, только наоборот.
Вообще, типов переменных много, но суть в следующем — чтобы производить с переменными какие‑то действия, нужно их сначала привести к одному типу — к строковому, или к числовому, или еще к какому‑нибудь. Если с этим не заморачиваться, Python сложит не числа, а строки и введенные 2 и 3 литра газировки в сумме дадут не 5, а целых 23. Хорошо бы так было в реальности!
Вот еще примерчик, рассчитывающий, сколько тебе еще лет ходить в школу, исходя из того, что закончить нужно 11 классов:
a = input('Введи, в каком ты классе: ')
b = 11 - int(a)
print('Осталось примерно: ' + str(b) + " лет")
Здесь мы вызываем функцию input(), чтобы получить значение, вычитаем его из 11, не забыв превратить строку в число, а потом печатаем результат, превратив число обратно в строку и сложив с другими строками.
Итак, ты узнал, что такое целочисленные и строковые переменные, что эти типы можно преобразовывать друг в друга командами int() и str(). К тому же теперь ты умеешь получать переменные от пользователя с помощью функции input('Введите что-то') и печатать результаты с помощью функции print().
Но возможен еще один вариант в случае, если нужно ввести два и более значений переменных:
оба числа вводятся не на разных строках, а в одной строке через пробел. В этом случае ввод выполняется сложнее:
a, b = map (int, input().split())
map() – применяет функцию ко всем элементам списка; в нашем случае это функция int(), которая превращает строку в целое число;
split() – строка разрезается на части по пробелам; в результате получается набор значений (список). В результате после работы функции map мы получаем новый список, состоящий уже из чисел. Первое введенное число (первый элемент списка) записывается в переменную a, а второе – в переменную b.
В данном примере при выводе результата нужно вывести значения трех переменных и два символа: «+» и «=», которые разделяются в операторе print:
print (a, '+', b, '=', c)
Для того чтобы убрать лишние пробелы, в операторе print используется так называемый разделитель (или сепаратор, англ. separator) – sep.
print (a, '+', b, '=', c, sep = '')
Здесь мы установили пустой разделитель (пустую строку).
В качестве разделителя можно указать любой знак. К примеру, если указать sep = '*' в команде: то на экране мы увидим: 1*2*3*4*
Дан интервал времени в часах, минутах и секундах. Напишите программу, которая определит тот же интервал в секундах.
ЗАДАЧИ НА ЗАКРЕПЛЕНИЕ
1) Даны значения трех сторон треугольника. Напишите программу, которая вычисляет его площадь.
2) Клиент некоторого банка 1 марта 2021 года открыл личный банковский счет и каждый день пополнял его на a рублей. Напишите программу, которая вычисляет, сколько будет рублей на счете клиента через пол года.