所以我正在用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)
其实我不知道应该写些什么。
感谢您的帮助! &安培;抱歉我的英语不好。
答案 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)