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

时间:2016-09-24 14:28:46

标签: python python-2.7

所以我正在用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

所以,这将解析类似这样的东西(元组结束的单元):

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

和...

所以这些变量以后可以使用。

但是,我的问题就在这里。我想检查那些变量中有多少(itembtn0 itembtn1 itembtn2 itembtn3 ...)并将它们放在这样:

markup.row(itembtn0, itembtn1, itembtn2)

所以,如果有5个,它会返回这样的东西:     markup.row(itembtn0,itembtn1,itembtn2,itembtn3,itembtn4)

其实我不知道应该写些什么。

感谢您的帮助! &安培;抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

您正在尝试创建编号变量,在所有情况下都可以用数组替换。尝试一些简单的事情:

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)