Неправильный вывод версии Python

Столкнулся с неправильным выводом по этой задаче:

Проверьте версию интерпретатора Python: Если версия 3.11 и выше — распечатайте на отдельных строках количество ссылок на переменную с именем attribute и количество байт, которое она занимает в памяти.

Если версия 3.10 или ниже — распечатайте на отдельных строках имя скрипта и количество аргументов, переданных через командную строку при запуске скрипта.

У меня python 3.12, поэтому мой код выглядит так (но выводит ошибку при проверке):

import sys
attribute = [] #непонимаю, как должна выглядеть эта строка ввода
print (sys.getrefcount(attribute))
print (sys.getsizeof(attribute))

Для примера (то, что должно выполняться в выводе):

Тест:

attribute = 10**10 + 1

sys.version = '3.11.5'

Результат:

4

32

Ответы (1 шт):

Автор решения: u111
attribute = [] # Это задается не в коде, а в проверяльщике

import sys
version = sys.version_info
if version >= (3, 11): # Версия не меньше 3.11
    print(sys.getrefcount(attribute)) # Печатаем кол-во ссылок на attribute
    print(sys.getsizeof(attribute)) # Печатаем вес переменной
else: # Версия меньше 3.11
    file, *args = sys.argv # Узнаем аргументы
    print(file) # Печатаем имя файла
    print(len(args)) # Печатаем количество аргументов
→ Ссылка