в первой строке получили из файла элементы, запомнили в f
скорее всего они там находятся в формате str((думаю в файле были цифры разделенные пробелами)
соответственно сейчас у нас f представляет строку состоящую из чисел разделенных пробелами
с f.split() разбиваем строку по определенными символам(символ указывается в кавычках внутри скобок), когда скобки пустые, разбивка происходит по пробелу
функция вернула нам массив, теперь f представляет массив из чисел в формате str
функция map в данной случае из формата str делает все элементы массива форматом int(в скобках функции указываем нужный формат, а через запятую объект)
однако функция map вернула нам f в формате map
соответственно используя list(f) мы приводим f к формату list(так можно делать со всеми типами данных, int(...), str(...) (если конечно приведение к другому типу возможно))
Программа:
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")
Дополню предыдущий ответ.
в первой строке получили из файла элементы, запомнили в f
скорее всего они там находятся в формате str((думаю в файле были цифры разделенные пробелами)
соответственно сейчас у нас f представляет строку состоящую из чисел разделенных пробелами
с f.split() разбиваем строку по определенными символам(символ указывается в кавычках внутри скобок), когда скобки пустые, разбивка происходит по пробелу
функция вернула нам массив, теперь f представляет массив из чисел в формате str
функция map в данной случае из формата str делает все элементы массива форматом int(в скобках функции указываем нужный формат, а через запятую объект)
однако функция map вернула нам f в формате map
соответственно используя list(f) мы приводим f к формату list(так можно делать со всеми типами данных, int(...), str(...) (если конечно приведение к другому типу возможно))