- Создавать переменную и обновлять её значение
- Различать типы
int,float,strиbool - Использовать арифметические операции, включая целочисленное деление и остаток
- Преобразовывать значения с помощью
int(),float()иstr()
Ты набираешь очки в игре: сначала 0, потом 10, потом 25. Программа должна где-то запомнить это число и каждый раз обновлять его. Для этого нужны переменные. Представь переменную как коробку с наклейкой: кладёшь внутрь значение, а потом находишь его по имени, чтобы посмотреть или изменить.
Переменные
Имя, которое дают значению, хранящемуся в памяти. Переменная создаётся знаком =: слева пишут имя, справа — значение.
name = 'Murad'
age = 14
height = 1.62
print(name, age, height)
age = age + 1
print('Next year:', age)▸ Ожидаемый результат
Murad 14 1.62 Next year: 15
Обрати внимание: в программировании = — это не равенство из математики, а присваивание. Строка age = age + 1 читается так: «возьми старое значение age, прибавь 1 и запиши результат обратно в age». Значение переменной может меняться в любой момент — отсюда и её название.
- Имя может состоять из букв, цифр и знака подчёркивания (
_), но не может начинаться с цифры:score2— можно,2score— нельзя. - Пробелы в имени недопустимы. Слова соединяют подчёркиванием:
first_name,total_price. - Регистр важен:
ageиAge— две разные переменные. - Нельзя использовать служебные слова Python (
if,for,class,Trueи другие) в качестве имён. - Выбирай осмысленные имена:
priceговорит гораздо больше, чемx.
Основные типы данных
У каждого значения есть тип, и он определяет, что с этим значением можно делать: числа можно складывать, строки — соединять. Python определяет тип сам, указывать его не нужно.
| Тип | Что это | Примеры |
|---|---|---|
int | целое число | 14, -3, 2026 |
float | вещественное (дробное) число | 1.62, 3.14, -0.5 |
str | строка (текст) | 'Baku', '42' |
bool | логическое значение | True, False |
Тип значения можно проверить функцией type().
print(type(14))
print(type(1.62))
print(type('Baku'))
print(type(True))
print(type('42'))▸ Ожидаемый результат
<class 'int'> <class 'float'> <class 'str'> <class 'bool'> <class 'str'>
Посмотри на последнюю строку: '42' в кавычках, поэтому это строка, а не число. А True и False — это ответы «да» и «нет»; они очень пригодятся в уроке об условиях.
Арифметические операции
| Операция | Действие | Пример | Результат |
|---|---|---|---|
+ | сложение | 7 + 2 | 9 |
- | вычитание | 7 - 2 | 5 |
* | умножение | 7 * 2 | 14 |
/ | деление | 7 / 2 | 3.5 |
// | целочисленное деление | 7 // 2 | 3 |
% | остаток от деления | 7 % 2 | 1 |
** | возведение в степень | 7 ** 2 | 49 |
Лейла покупает 3 тетради по 2,5 маната. Поручим расчёт Python и заодно проверим другие операции.
price = 2.5
count = 3
total = price * count
print('Total:', total)
print(17 // 5, 17 % 5)
print(2 ** 10)
print(2 + 3 * 4, (2 + 3) * 4)▸ Ожидаемый результат
Total: 7.5 3 2 1024 14 20
Python соблюдает порядок действий, как в математике: сначала возведение в степень, затем *, /, //, % и в конце + и -. Чтобы изменить порядок, используй скобки: 2 + 3 * 4 даёт 14, а (2 + 3) * 4 — 20.
Фильм длится 135 минут. Сколько это часов и минут?
Показать решениеСкрыть решение
//: 135 // 60 = 2.Оставшиеся минуты — через
%: 135 % 60 = 15.Ответ: 2 часа 15 минут.
minutes = 135
hours = minutes // 60
rest = minutes % 60
print(hours, 'h', rest, 'min')▸ Ожидаемый результат
2 h 15 min
Обновлять переменную на основе её же значения приходится так часто, что в Python есть краткая запись: score += 10 означает то же, что score = score + 10. Так же работают -=, *= и /=.
score = 0
score += 10
score += 5
score -= 3
score *= 2
print('Score:', score)▸ Ожидаемый результат
Score: 24
Преобразование типов
Число и строку нельзя сложить напрямую: если написать '5' + 5, Python выдаст ошибку TypeError, потому что не знает, как соединить текст и число. В таких случаях значение нужно преобразовать в нужный тип: int() делает из него целое число, float() — дробное, а str() — строку.
text = '25'
number = int(text)
print(number + 5)
print(text + '5')
print(float('3.5') * 2)
print('Age: ' + str(14))
print(int(7.9))▸ Ожидаемый результат
30 255 7.0 Age: 14 7
text + '5' склеивает две строки, поэтому получается 255 — не число двести пятьдесят пять, а текст из символов 2, 5 и 5.
Комната имеет форму прямоугольника: width = 7, height = 4 (в метрах). Запиши площадь в переменную area, а периметр — в perimeter, затем выведи две строки: Area: с площадью и Perimeter: с периметром.
width = 7
height = 4
# area = ...
# perimeter = ...
# print Area: and Perimeter:▸ Ожидаемый результат
Area: 28 Perimeter: 22
47 конфет делят поровну между 6 детьми. Числа даны в виде строк ('47' и '6'). Преобразуй их в числа с помощью int(), затем выведи две строки: Each child: и сколько конфет получит каждый ребёнок, Left over: и сколько конфет останется.
candies_text = '47'
children_text = '6'
# 1) convert both strings to int
# 2) print Each child: and the share (use //)
# 3) print Left over: and the rest (use %)▸ Ожидаемый результат
Each child: 7 Left over: 5
Главное
- Переменная — это имя для значения; она создаётся с помощью
=(присваивания). - Основные типы:
int,float,str,bool; тип значения показываетtype(). /всегда даётfloat;//— целую часть от деления,%— остаток.x += 1— краткая записьx = x + 1.int(),float()иstr()преобразуют значение в другой тип;int()отбрасывает дробную часть.
Проверь себя
Вопросов: 10. Каждый правильный ответ приносит XP.
x = 5, а затем x = x + 2. Что выведет print(x)?