首页 > 解决方案 > 为什么我的列表打印没有附加问题

问题描述

这是电报(聊天应用程序)的代码,当每个人都说些什么时,我想创建一个机器人创建一个列表并将他们的用户名添加到列表中。例如,这是我list = [] 当 x 发送消息时,列表应该是 =[(x username)] 之后当 y 发送消息时机器人应该回复这个list = [(x username),(y username)]

我有这个问题,因为当我打印列表时,它给了我两个单独的列表。不是一个。例如,当 Mohamad 发送消息时,它给了我这个:

[mohammad]

这没关系,但是当 Mitra 发送消息时,它应该是:

[Mohammad, Mitra]

但它是

[Mitra]

from telegram.ext import Updater , CommandHandler , Filters , 
CommandHandler , MessageHandler
from telegram import MessageEntity
from telegram import ParseMode , InputTextMessageContent

updater = Updater("989165404:AAF8DEjyunwrb88-1G8w62cGItzXj1J618g")


def msg_filter(bot , update):
    list = []
    list.append("{}".format(update.message.from_user.first_name))
    bot.send_message(chat_id = update.message.chat_id , text = " 
    {}".format(list))

        # bot.send_message(chat_id = update.message.chat_id , text = " 
     {}".format(update.message.from_user.first_name))
     print(list)

     updater.dispatcher.add_handler(MessageHandler(Filters.text , 
     msg_filter ))
     updater.start_polling()

标签: pythonlistprintingbots

解决方案


发生这种情况是因为您每次都在重置列表。尝试在函数 msg_filter() 之外定义空白列表。

list = []

def msg_filter():
    //your code//

告诉我它是否有效。乐意效劳。平安出来。


推荐阅读