如何跟踪while循环中函数调用产生的编号变量。有多少人?

2024-05-15 21:05:42 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在用python写一个小项目, 但现在我有麻烦了。你知道吗

我编写了如下代码:

START_BUTTONS = ("button1", "button2")
markup = types.ReplyKeyboardMarkup()
lengthof = len(START_BUTTONS)
countn = 0
while (countn < lengthof):
  exec("itembtn" + str(countn) + " = types.KeyboardButton(START_BUTTONS[" + str(countn) + "])")
  countn = countn + 1

因此,这将解析如下内容(unitl元组结束):

itembtn0 = types.KeyboardButton(START_BUTTONS[0])
itembtn1 = types.KeyboardButton(START_BUTTONS[1])

还有。。。你知道吗

所以这些变量以后可以使用。你知道吗

但是,我的问题在这里。我想检查这些变量中有多少(itembtn0 itembtn1 itembtn2 itembtn3…),并将它们如下所示:

markup.row(itembtn0, itembtn1, itembtn2)

所以,如果其中有5个,它会返回这样的结果: 标记.row(项目BTN0、项目BTN1、项目BTN2、项目BTN3、项目BTN4)

实际上我不知道该写什么。你知道吗

谢谢你的帮助!&对不起,我的英语不好。你知道吗


Tags: 项目代码startrowtypesmarkupstrbuttons
1条回答
网友
1楼 · 发布于 2024-05-15 21:05:42

您正在尝试创建编号的变量,这些变量在任何情况下都可以被数组替换。尝试一些简单的方法:

START_BUTTONS = ("button1", "button2")
markup = types.ReplyKeyboardMarkup()
itembtn = []
for btn in START_BUTTONS:
  itembtn.append(types.KeyboardButton(btn))

使用访问它

itembtn[0]
itembtn[1]
etc.

你可以知道有多少:

len(itembtn)

我不确定您的标记函数,但您可以将整个数组作为如下参数传递:

markup.row(*itembtn)

相关问题 更多 >