← Все вопросы

Как найти наибольшую и наименьшую цифру в числе?

Задан 21 месяц назад394 просмотров1 ответ
4

Дано число, например 38172. Надо найти самую большую цифру (8) и самую маленькую (1). Как это сделать в коде?

1 ответ

9
✓ Принятый ответ — помог автору

Проще всего перебрать цифры через строку и взять max/min:

n = 38172
digits = [int(c) for c in str(abs(n))]
print(max(digits))  # 8
print(min(digits))  # 1

Если нужен чисто математический вариант (без строки), отрезаешь цифры через % 10 и // 10:

n = abs(38172)
biggest = 0
smallest = 9
while n > 0:
    d = n % 10
    biggest = max(biggest, d)
    smallest = min(smallest, d)
    n //= 10
print(biggest, smallest)  # 8 1

Ваш ответ

, чтобы ответить на вопрос.