Вывод максимального числа кратного 3-м [ Python 3 ]
Написать программу, которая выводит на экран максимальную цифру числа, кратную 3
n = int(input())
max_digit = n % 10 # выделяет последнюю цифру 3207
# числа и назначает ее максимальной
while n != 0: # пока в числе не закончились цифры !!!!!!!!!!!!!!!!!!!!! (изменил '>' на '!=' )(1)
digit = n % 10 # выделяет последнюю цифру
if digit == 0 and max_digit % 3 != 0:
max_digit = digit
continue
elif digit % 3 == 0: # если последняя цифра делится на 3 без остатка
if digit >= max_digit: # и если последняя цифра меньше (нужно больше)(2) максимальной
max_digit = digit # назначет цифру максимальной
n = n // 10 # снова выделяет последнюю цифру (нужно убрать из числа последнюю цифру) (3)
if max_digit % 3 != 0: # если максимальная цифра равна нулю (если максимальная цифра не делится на 3 без остатка)
print('NO') # вывести на петать НЕТ
else:
print(max_digit) # иначе вывести на печать значение максимальной цифры
Нужно обратить внимание, что переменной num необходимо явно задавать тип int в обоих случаях. Иначе на неотрицательность будет проверяться строковая переменная. Будет выведено сообщение об ошибке.
num = int(input())