Напишите функцию average(a),
которая получает на вход список чисел и возвращает
среднее значение элементов данного списка.
Список содержит только числа и не пуст.
Сдайте на проверку только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
average([1, 7, 9]) |
5.666666666666667 |
Напишите функцию median(a, b, c),
которая получает на вход три числа и возвращает
их медиану. В решении нельзя использовать циклы.
Сдайте на проверку только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
median(1, 9, 7) |
7 |
Даны два действительных числа \(x\) и \(y\). Проверьте, принадлежит ли точка с координатами \((x,y)\) закрашенному квадрату (включая его границу). На рисунке сетка проведена с шагом 1.
Решение оформите в виде функции is_point_in_square(x, y),
возвращающую True, если точка принадлежит квадрату и False, если не принадлежит.
Функция is_point_in_square не должна содержать инструкцию if и должна иметь
такой вид:
def is_point_in_square(x, y):
return ...
Сдайте на проверку только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
is_point_in_square(0, 0) |
True |
is_point_in_square(3, -7) |
False |
Даны два действительных числа \(x\) и \(y\). Проверьте, принадлежит ли точка с координатами \((x,y)\) закрашенному квадрату (включая его границу). На рисунке сетка проведена с шагом 1.

Решение оформите в виде функции is_point_in_rhombus(x, y),
возвращающую True, если точка принадлежит квадрату и False, если не принадлежит.
Функция is_point_in_square не должна содержать инструкцию if.
Сдайте на проверку только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
is_point_in_rhombus(0, 0) |
True |
is_point_in_rhombus(1, 1) |
False |
Даны пять действительных чисел: \(x\), \(y\), \(x_c\), \(y_c\), \(r\). Проверьте, принадлежит ли точка \((x,y)\) кругу с центром \((x_c,y_c)\) и радиусом \(r\).
Решение оформите в виде функции is_point_in_circle(x, y, xc, yc, r).
Функция не должна содержать инструкцию if.
Сдайте на проверку только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
is_point_in_circle(0.5, 0.5, 0, 0, 1) |
True |
is_point_in_circle(0.5, 0.5, 1, 1, 0.1) |
False |
Проверьте, принадлежит ли точка данной закрашенной области. Область неограничена снизу.

Решение оформите в виде функции is_point_in_area(x, y).
Инструкцию if использовать нельзя.
| Вызов функции | Возвращаемое значение |
|---|---|
is_point_in_area(-1, 2) |
True |
is_point_in_area(0, 0) |
False |
Дано число, получите число, составленное из тех же цифр, записанных в обратном порядке.
Решение оформите в виде функции reverse(n), которая получает
на вход значение типа int и возвращает значение типа int.
| Вызов функции | Возвращаемое значение |
|---|---|
reverse(179) |
971 |
Для данного числа \(n\) определите следующее за ним число, запись которого является палиндромом.
Решение оформите в виде функции next_palindrome(n), которая получает
на вход значение типа int и возвращает значение типа int.
В решении используйте функцию из предыдущей задачи. Сдайте на проверку
две функции: reverse и next_palindrome.
| Вызов функции | Возвращаемое значение |
|---|---|
next_palindrome(179) |
181 |
Дано натуральное число \(n>1\). Найдите его наименьший делитель, отличный от 1.
Решение оформите в виде функции min_divisor(n). Алгоритм должен
иметь сложность \(O(\sqrt{n})\). Используйте цикл while для поиска делителя.
Указание. Если у числа \(n\) нет делителя не превосходящего \(\sqrt{n}\), то число \(n\) — простое и ответом будет само число \(n\).
Сдайте на проверку только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
min_divisor(4) |
2 |
min_divisor(5) |
5 |
Дано натуральное число \(n>1\). Проверьте, является ли оно простым.
Решение оформите в виде функции is_prime(n), которая возвращает
True для простых чисел и False для составных чисел. Решение
должно иметь сложность \(O(\sqrt{n})\).
Сдайте на проверку только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
is_prime(2) |
True |
is_prime(4) |
False |
Дано натуральное число \(n>1\).
Постройте его разложение на простые множители.
Решение должно быть оформлено в виде функции factor(n), возвращающей список
делителей числа в порядке неубывания. Каждый делитель должен быть включен в список
с учетом его кратности.
Функция должна перебирать делители до \(\sqrt{n}\), при уменьшении числа \(n\) граница перебора также должна уменьшатся.
Использование функций sqrt, pow, операции **
для извлечения квадратного корня может быть причиной долгого работы программы.
Используйте вместо них возведение в квадрат при помощи операции умножения.
| Вызов функции | Возвращаемое значение |
|---|---|
factor(132) |
[2, 2, 3, 11] |
factor(2) |
[2] |
Дано натуральное число \(n\). Посчитайте произведение его цифр, не используя строковые операции
(напишите цикл, перебирающий цифры числа). Решение оформите в виде функции product_of_digits.
| Вызов функции | Возвращаемое значение |
|---|---|
product_of_digits(179) |
63 |