Програма повинна запитувати трьохзначне число. Якщо цифр більше, то необхідно вивести відповідний текст. Программа перевіряє, чи ділиться введене число на 6. Число ділиться на 6 тільки в разі дотримання двох умов: Остання його цифра кратна 2. Сума всіх цифр кратна 3. Наприклад: Число 426 ділиться на 6, бо остання цифра кратна 2 (тобто ділиться на 2 без остачі), а сума цифр (4+2+6 = 12) кратна 3 (тобто ділиться на 3 без остачі).
Ответы
Ответ:
def is_div(x):
if (int(x[-1]) % 2): return 0
s = 0
for i in x: s += int(i)
return (not s%3)
x = input()
if (len(x) != 3): print("Неправильное число!")
print(is_div(x))
Объяснение:
Эта программа принимает строку. Если длина строка не равна 3, то она это выводит. Далее она выводит результат проверки на деление: 0, если число не делится, и 1 если оно делится.
Функция is_div() сначала проверяет, делится ли последний символ строки на 2, затем считает сумму всех цифр, а тем выводит логическое НЕТ остатка от деления числа на 3 (то есть, если у числа есть остаток от деления на 3, оно выведет 0, а если нет, то выведет 1)
Ответ:
def is_div(x):
return not(int(x[-1])%2) and not(sum(map(int,x))%3)
x=input()
print("Введите трехзначное число" if len(x)!=3 else is_div(x))
Объяснение:
Переписал, чтобы выдавало только False/True.
Ну и немного оптимизировал код. В принципе достаточно выделенного:
x=input()
print("Неправильный ввод" if len(x)!=3 else not(int(x[-1])%2) and not(sum(map(int,x))%3))