Задача 2. Функция максимума

Юра пишет различные полезные функции для Питона, чтобы остальным программистам стало проще работать.
Он захотел написать функцию, которая будет находить максимум из перечисленных чисел. Функция для нахождения максимума из двух чисел у него уже есть. Юра задумался: может быть, её можно как-то использовать для нахождения максимума уже от трёх чисел?

Напишите программу, которая находит максимум из трёх чисел. Для этого используйте только функцию нахождения максимума из двух чисел.

Решение:

import math

# Вариант 1
def max_31(a, b, c):
    return max(max(a, b), max(b, c))

# Вариант 2
def max_32(a, b, c):
  x = (a >= b) * a + (a < b) * b
  y = (x >= c) * x + (x < c) * c
  return math.ceil(y)

# Вариант 3
def max_33(a, b, c):
  max2 = (a + b + abs(a - b)) // 2
  return (max2 + c + abs(max2 - c)) // 2


a = float(input("Введите первое число: "))
b = float(input("Введите второе число: "))
c = float(input("Введите третье число: "))

print('Максимальное число из трех равно', max_31(a, b, c))
print('Максимальное число из трех равно', max_32(a, b, c))
print('Максимальное число из трех равно', max_33(a, b, c))


Решение от преподавателя:

digit_1 = int(input('Введите число: '))
digit_2 = int(input('Введите число: '))
digit_3 = int(input('Введите число: '))


def max_of_2(number_1, number_2):
    if number_1 > number_2:
        return number_1
    else:
        return number_2


print('Самое большое число:', max_of_2(max_of_2(digit_1, digit_2), digit_3))


2370login-checkЗадача 2. Функция максимума

Добавить комментарий