Решение задач
Задача 1. Напишите функцию, которая возвращает длину гипотенузы прямоугольного треугольника по известным значениям его катетов.
Решение. Для нахождения длины гипотенузы, нам нужно применить теорему Пифагора: квадрат гипотенузы прямоугольного треугольника, равен сумме квадратов его катетов. Другими словами, если – длины катетов, а – длина гипотенузы, то имеет место равенство:
Функция, вычисляющая длину гипотенузы, может иметь вид:
def compute_hypotenuse(a, b):
c = (a ** 2 + b ** 2) ** 0.5
return c
Для извлечения квадратного корня мы использовали оператор возведения в степень. Напомним, что результатом обоих выражений: math.sqrt(c) и c ** 0.5 является одно число .
Следующий программный код:
print(compute_hypotenuse(3, 4))
print(compute_hypotenuse(5, 12))
print(compute_hypotenuse(1, 1))
выведет:
5.0 # длина гипотенузы треугольника с катетами 3 и 4
13.0 # длина гипотенузы треугольника с катетами 5 и 12
1.4142135623730951 # длина гипотенузы треугольника с катетами 1 и 1
Если нужно передать программе числа, считанные с клавиатуры, то мы пишем следующий код:
x = int(input())
y = int(input())
hypotenuse = compute_hypotenuse(x, y)
print(hypotenuse)
В модуле math имеется встроенная функция hypot(x, у) которая возвращает длину гипотенузы прямоугольного треугольника с катетами x и y.
Одним из основных преимуществ функций является возможность их повторного использования для решения похожих задач. Рассмотрим задачу нахождения расстояния между двумя точками.
Задача 2. Напишите функцию get_distance(x1, y1, x2, y2), вычисляющую расстояние между точками и .
Решение. Расстояние между двумя точками и определяется по формуле .

Несложно заметить, что искомое расстояние – это длина гипотенузы прямоугольного треугольника с катетами равными и .
Функция, вычисляющая расстояние между точками, может иметь вид:
def get_distance(x1, y1, x2, y2):
return compute_hypotenuse(x1 - x2, y1 - y2)
Для подсчета искомого расстояния мы используем уже созданную нами функцию compute_hypotenuse передавая ей в качестве аргументов числа x1 - x2 и y1 - y2.
Основная программа имеет вид:
x1, y1 = float(input()), float(input())
x2, y2 = float(input()), float(input())
print(get_distance(x1, y1, x2, y2))
Задача 3. Напишите функцию sum_digits(n), принимающую в качестве аргумента натуральное число и возвращающую сумму его цифр.
Решение. Функция sum_digits(n) может иметь вид:
def sum_digits(n):
result = 0
while n > 0:
result += n % 10
n //= 10
return result
Основная программа имеет вид:
n = int(input())
print(sum_digits(n))
Задача 4. Напишите функцию compute_average(numbers), принимающую в качестве аргумента список чисел и возвращающую среднее значение элементов списка.
Решение. Для подсчета среднего значения элементов списка нужно вычислить сумму всех элементов и их количество, то есть использовать функции sum() и len(). Функция compute_average(numbers) может иметь вид:
def compute_average(numbers):
return sum(numbers) / len(numbers)
Основная программа имеет вид:
numbers = [1, 3, 5, 1, 6, 8, 10, 2]
print(compute_average(numbers))
Результатом работы такой программы будет число 4.5, которое и является средним значением.