簡體   English   中英

如何跟蹤while循環中由函數調用產生的編號變量。 那里有多少?

[英]How to keep track of numbered variables made from function call in while loop. How many are there?

因此,我正在使用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)

其實我不知道該寫些什么。

感謝幫助! & 對不起,我的英語不好。

您正在嘗試創建帶編號的變量,在所有情況下都可以將其替換為數組。 嘗試一些簡單的方法:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM