Использование словарей в скрипте
Требуется создать три словаря
name = {} #Имя
age = {} #Возраст
country = {} #Страна
В каждый из словарей добавлять message.chat.id(id пользователя), чтобы далее проверять по id хранимые данные в словаре. В функции собственно пытаюсь сделать что-то наподобии
name[usr_id] = message.text
age[usr_id] = message.text
country[usr_id] = message.text
и получаю ошибку в лицо
TypeError: 'str' object does not support item assignment
Ответы (1 шт):
Автор решения: SmellyNS
→ Ссылка
Нельзя создавать переменные с одинаковым именем. У вас может быть либо строковая переменная name, либо словарь name.
Используйте как-то так:
name = str(message.text)
nameDict = Dict()
nameDict[uid] = name
Ошибка возникает из-за того, что вы переопределяете name, как строку
name = str(...)
и после этого пытаетесь индексировать ее, о чем и говорит ошибка.
TypeError: 'str' object does not support item assignment
В вольном переводе:
ОшибкаТипа: объект 'str' (строка) не поддерживает присвоение элементов