unsupported operand type(s) for %: 'list' and 'int'

Рейтинг: 1Ответов: 1Опубликовано: 09.06.2023

Подскажите как исправить ошибку

x=2*27**7+3**10-9
a=[]
while x>0:
    a=[a%3]+a
    x=x//3
print(a.count(0))
Traceback (most recent call last):
 File "C:/Users/A-Leo/OneDrive/Рабочий стол/s.py", line 4, in <module>
    a=[a%3]+a
TypeError: unsupported operand type(s) for %: 'list' and 'int'

Ответы

▲ 4

Написано, вроде бы, совершенно ясно, красным по английски:

Операция типа '%' не поддерживается для списка и целого.

Ну нельзя делить список на целое! Операция деления - поэлементная. Самый простой пример:

>>> a = [4,6,8]
>>> b = a /2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'list' and 'int'
>>> 

Если вам действительно нужно выполнить такую операцию, распишите это деление через цикл.