Перейти к содержанию

Простые встроенные функции

Типы данных

Пока единственным типом данных, с которым мы работали, были строки. Теперь рассмотрим целые и вещественные числа. Каждый элемент данных имеет определённый тип. Строки записываются в кавычках, числа — без них. Для вещественных чисел дробная часть отделяется точкой.

Например: "привет" — строка, 15.3 — дробное число. Функция input() возвращает строку, выражение 2 + 2 даёт число 4, а не строку "4".

Попытка сложить строку и число вызывает ошибку:

a = input()
print(a + 1)

Правильный способ работы с числами:

1
2
3
4
print('10' + '20')   # 1020
print(10 + 20)       # 30
print(10.0 + 20.0)   # 30.0
print(10.0 + 20)     # 30.0

Операции над числами

  • + Сложение
  • - Вычитание
  • * Умножение
  • / Деление
  • ** Возведение в степень
  • // Целая часть от деления
  • % Остаток от деления

Приоритет операций

  1. Возведение в степень (**)
  2. Унарный минус (-)
  3. Умножение, деление (* / % //)
  4. Сложение и вычитание (+ -)
  5. Операции сравнения (<= < > >=)
  6. Операции равенства (== !=)
  7. Операции присваивания (=)
  8. Логические операции (not or and)

Простейшие функции

  • int(x) — преобразование к целому числу
  • float(x) — преобразование к числу с плавающей точкой
  • str(x) — преобразование к строке
  • len(x) — длина строки
  • abs(x) — модуль числа

Пример:

1
2
3
a = input()
b = int(a)
print(b + 1)

Обмен значениями переменных

Задача: поменять значения двух переменных местами.

Классический подход с промежуточной переменной:

1
2
3
4
5
6
7
a = 3
b = 5
c = a
a = b
b = c
print(a)  # 5
print(b)  # 3

Элегантное решение в Python:

1
2
3
4
5
a = 3
b = 5
a, b = b, a
print(a)  # 5
print(b)  # 3

Также возможно присваивание одного значения нескольким переменным:

a = b = c = 5

Задачи

Задача 1

Напишите программу, которая считывает два целых числа и выводит их сумму.

Тест 1:

Ввод:

3
5
Вывод:
8

Тест 2:

Ввод:

34234324
52354436
Вывод:
86588760


Задача 2

Напишите программу, которая считывает два вещественных числа и выводит их сумму.

Тест 1:

Ввод:

1.25
2.3
Вывод:
3.55

Тест 2:

Ввод:

0.1
0.9
Вывод:
1.0


Задача 3

Напишите программу, которая считывает строку и выводит сообщение о её длине по шаблону:

Слово [строка] имеет длину [количество]

Тест 1:

Ввод:

собака
Вывод:
Слово собака имеет длину 6

Тест 2:

Ввод:

Python
Вывод:
Слово Python имеет длину 6


Задача 4

Напишите программу, которая считывает число и выводит +, если оно положительное, −, если отрицательное, или 0, если равно нулю.

Тест 1:

Ввод:

5
Вывод:
+

Тест 2:

Ввод:

-3
Вывод:
−

Тест 3:

Ввод:

0
Вывод:
0


Задача 5

Вычислите количество минут в году. Используйте переменные days_per_year, hours_per_day, minutes_per_hour. Ввод не требуется.

Вывод:

525600


Задача 6

Напишите программу, которая рассчитывает стоимость SMS-сообщения: каждый символ стоит 40 копеек. Считайте строку и выведите стоимость в рублях и копейках по шаблону:

[X] р. [Y] коп.

Тест 1:

Ввод:

Привет! Как дела?
Вывод:
6 р. 80 коп.

Тест 2:

Ввод:

Ok
Вывод:
0 р. 80 коп.


Задача 7

Напишите программу, которая считывает два целых числа и меняет их значения местами, затем выводит каждое на новой строке.

Тест 1:

Ввод:

3
5
Вывод:
5
3

Тест 2:

Ввод:

100
1
Вывод:
1
100


Задача 8

Напишите программу, которая считывает вещественное число и выводит его модуль.

Тест 1:

Ввод:

-7.5
Вывод:
7.5

Тест 2:

Ввод:

3.2
Вывод:
3.2


Задача 9

Напишите программу, которая считывает два целых числа и выводит результат деления первого на второе — целую часть и остаток отдельными строками.

Тест 1:

Ввод:

7
2
Вывод:
3
1

Тест 2:

Ввод:

10
3
Вывод:
3
1


Задача 10

Напишите программу, которая считывает два целых числа и операцию (+, -, *, /). Выведите результат. Если операция неизвестна или происходит деление на ноль — выведите ОШИБКА.

Тест 1:

Ввод:

10
2
*
Вывод:
20

Тест 2:

Ввод:

5
0
/
Вывод:
ОШИБКА

Тест 3:

Ввод:

4
2
^
Вывод:
ОШИБКА