Top.Mail.Ru
Ответы

Что не так в моём коде на Python?

Значит играюсь с множеством, пишу код:

123456
numbers = {1, 2, 3}
n = 0
for i in range(0, len(numbers) - 1):
    n += numbers[i]

print(len(numbers) + n)

Но при выполнении пишет TypeError: 'set' object is not subscriptable. Не могу разобраться никак. Может вы поможете?

По дате
По рейтингу
Аватар пользователя
Новичок
Изменено

строка 4 - нельзя обращаться к элементам множества по индексу, можно только проверить вхождение, добавить и удалить. но можно распаковать множество:

1
for i in [*numbers]: n+=i 

порядок значений может быть не тот в котором ты их добавлял. можно воспользоваться функцией sum() вместо цикла:

12
numbers = {1, 2, 3}
print(len(numbers)+sum([*numbers]))
Аватар пользователя
Новичок

Множества в Питоне неупорядоченная структура данных, к его элементам нельзя обращаться по индексам. Потому что индексов у сета просто нет. Вот и всё

Аватар пользователя
Ученик

Начни изучать английский