Твой ответ на задание неверный.
Перед тем, как объяснить, как найти правильный ответ, скажу несколько слов о задании. Для решения задачи необходимо знать, что такое шестнадцатеричная система счисления. Она использует 16 знаков: от 0 до 9 и от A до F. Также нужно понимать, что окончание числа в шестнадцатеричной системе счисления - это последний знак числа в его записи.
Для решения задачи необходимо пройтись по всей последовательности и найти числа, которые удовлетворяют условию: оканчиваются на 9, но не оканчиваются на A9. Найденные числа можно сохранять в список и определить количество найденных чисел. Так же необходимо сохранить максимальное найденное число.
Вот корректный способ решения этой задачи:
numbers = [] # список чисел, удовлетворяющих условию
max_num = -1 # максимальное число из найденных
with open('17-107.txt') as f:
for line in f:
num = int(line)
hex_num = hex(num)[2:] # представляем число в шестнадцатеричной системе счисления
if hex_num.endswith('9') and not hex_num.endswith('a9'): # проверка условия
numbers.append(num)
if num > max_num:
max_num = num
result = f"{len(numbers)} {max_num}"
print(result)
Моё сообщение было полезным? Оцени его, пожалуйста, лайком или дизлайком.
