Почему функция возвращает None в Python?
Мне нужно было решить задачу - Даны три числа. Найдите те два из них, сумма которых наибольшая. Вроде бы правильно её решил, но код возвращает в место двух максимальных чисел None.
Код:
a = int(input('Введите первое число: '))
b = int(input('Введите второе число: '))
c = int(input('Введите третье число: '))
def maximum(a, b, c):
if a > b:
if a > c:
if c > b:
return "Два максимальных элемента: " + str(a) + ", " + str(c)
print(maximum(a, b, c))
Помогите плз)
Ответы (2 шт):
Автор решения: Евгений
→ Ссылка
a = int(input('Введите первое число: '))
b = int(input('Введите второе число: '))
c = int(input('Введите третье число: '))
def maximum(a, b, c):
l = [a, b, c]
minimum = 0
if l[1] < l[minimum]:
minimum = 1
if l[2] < l[minimum]:
minimum = 2
if minimum == 0:
return l[1], l[2]
if minimum == 1:
return l[0], l[2]
if minimum == 2:
return l[0], l[1]
print('Два максимальных элемента: {0}, {1}'.format(*maximum(a, b, c)))
Автор решения: Vitek_228_69
→ Ссылка
Самое короткое решение
def maximum(*args):
return sorted(args)[1:]