Если принимает любое количество именно чисел (т.е. типы данных 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().