TypeError: argument of type 'int' is not iterable
// Telegram bot
control_quantity = {}
if message.chat.id in control_quantity:
control_quantity[message.chat.id] += 1
else:
control_quantity[message.chat.id] = 1
Получаю ошибку:
if message.chat.id in control_quantity:
**TypeError: argument of type 'int' is not iterable**
В чем ошибка? Помогите пожалуйста!
Ответы (1 шт):
Автор решения: hedgehogues
→ Ссылка
Интерпретатор сообщает Вам о том, что по типу int нельзя итерироваться. Т.е. тип int -- это не коллекция. Пример коллекций:
[1, 2, 3]
{1:1, 2:2, 3:3}
import collections
c = collections.Counter()
Вам нужно понять, что лежит в message.chat.id и в message.chat.id. Для этого воспользуетесь отладочным выводом
// Telegram bot
control_quantity = {}
print(control_quantity)
print(message)
print(message.chat)
print(message.chat.id)
if message.chat.id in control_quantity:
control_quantity[message.chat.id] += 1
else:
control_quantity[message.chat.id] = 1
Скорее всего, Вы обнаружите нестыковки в данных в одном из этих выводов