Получить самую большую цифру в числе

def func(num):
    max = 0
    for i in range(num):
        if i > max:
            max = i
    return (max)


print(func(67124))

Ответы (3 шт):

Автор решения: nomnoms12

Можно привести число к строке, чтобы на каждой итерации получить отдельную цифру.

Пример:

def f(num):
    m = 0
    for n in str(num):
        if int(n) > m:
            m = int(n)
    return m
→ Ссылка
Автор решения: Zhihar

способ 1:

def f(num):
    return max(map(int, str(num)))

способ 2:

def f(num):
    res = 0
    while num != 0:
      res = max(res, num % 10)
      num //= 10
    return res

способ 3:

def f(num):
  return int(sorted(str(num))[-1])

способ 3.5:

def f(num):
  return int(list(set(str(num)))[-1])
→ Ссылка
Автор решения: nomnoms12

Можно использовать функцию max для строкового представления числа.

Пример:

def f(num):
    return int(max(str(num)))

Цифры будут сравниваться на основе ASCII кода их символьного представления. Это возможно, потому что их коды находятся последовательно от меньшего к большему (48-57).

→ Ссылка