@Fosterkek

Как написать написать функцию, которая принимает любое количество чисел и составляет из них максимальное?

Пример
Ввод :1, 2, 3
Вывод: 321
  • Вопрос задан
  • 361 просмотр
Решения вопроса 1
danila763
@danila763
Учу python, sql
def func(*args):
    args = map(str, args)
    return int(''.join(sorted(args)[::-1]))
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@mkone112
Начинающий питонист.
def m(*args):
    return int(''.join(sorted(map(str, args), reverse=True)))
Ответ написан
Vindicar
@Vindicar
RTFM!
Если принимает любое количество именно чисел (т.е. типы данных int или float), то есть стандартная функция max().
Если нужно её имитировать, то
# функцию можно будет вызвать так: max(1,2,3,4) 
# или так 
# l = [1,2,3,4]
# max(*l)

# если нужно, чтобы функция принимала список чисел, а не числа по отдельности, исправь так
# def my_max(args):
# и вызывай так: max([1,2,3,4]) или max(l)

def my_max(*args):   
  if not args:  # не передали ни одного числа?
    raise TypeError("Нет ни одного числа")  # ну или можно вернуть 0, если это требуется
  val = args[0]  # запоминаем первое переданное число
  for v in args[1:]:  # перебираем остальные
    if val < v:
      val = v
  return v

А вот что касается ввода чисел с клавиатуры, то тут уже подумай сам.
input() даст тебе одну введённую строку.
Почитай про метод .split() у строк, он позволит разбить строку по пробелам в список строк.
Затем сделай новый пустой список, пройдись по списку строк, каждый элемент обработай int() или float(), и добавь результат в этот новый список.
Тогда у тебя будет список чисел, который можно скормить my_max().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы