Назовем число красивым, если оно является трехзначным, оканчивающимся на 2 или 3 и кратным 2. Напишите программу, определяющую, является ли введённое число красивым. Программа должна вывести «YES», если число является красивым, или «NO» в противном случае.
Программа:
num = input()
print("YES" if num[-1] in ["2", "3"] and int(num) % 3 == 0 and len(num) == 3 else "NO")
Сложна для понимания, поэтому приведу 2-ой вид программы:
num = input()
if len(num) == 3 and num[-1] in ["2", "3"] and int(num) % 3 == 0:
print("YES")
else:
print("NO")
Конечно, можно и через операторы % и // сделать:
num = int(input())
count = 0 # Переменная-счётчик кол-ва цифр в числе
last_num = num # Переменная для последней цифры в числе
num_c = num
while num_c:
num_c = num_c // 10
count += 1
if count == 3: # Проверка на кол-во цифр в числе
last_num = last_num // 10 # Например, 123 -> 12
last_num = last_num % 10 # 12 -> 2
if num % 3 == 0 and (last_num == 2 or last_num == 3):
print("YES")
else:
print("NO")
else:
print("NO")