Неправильный вывод версии 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)) # Печатаем количество аргументов