我可以将所有这些输入作为 for 循环吗?(长袍)

我想制作一个 9x9 的表,用户可以在其中插入值。正如您在代码中看到的,我使用了大量语句来实现此目的。我必须单独进行每个输入。我希望是否有一种方法可以使用 for 循环或其他方法来消除这些语句。我不知道是否有可能做到这一点。请帮帮我。

另外,谁能告诉我如何在应用程序的中心保留一个按钮?我必须使用填充来实现此功能。还有其他办法吗?我尝试过style=Pack(alignment=CENTER)但没有成功。

我使用它得到的输出是:

https://img1.sycdn.imooc.com/65a52ff4000111d006390516.jpg

BIG阳
浏览 92回答 1
1回答

明月笑刀无情

是的,一个简单的 for 循环和列表或字典可以帮助你。也许类似的东西可以代替输入提示?self.t = []for i in range(11, 100):    if i % 10:        if not str(i).endswith("3") and not str(i).endswith("6"):            self.t.append(toga.NumberInput(min_value=0, max_value=9,                                           default=0, style=Pack(width=50)))        else:             self.t.append(toga.NumberInput(min_value=0, max_value=9,                                           default=0, style=Pack(width=50, padding=(0, 5, 0, 0))))然后你可以使用以下方法创建行:self.row1 = toga.Box(            children=[self.t[0]],                        self.t[1],                        self.t[2],                        self.t[3],                        self.t[4],                        self.t[5],                        self.t[6],                        self.t[7],                        self.t[8], ],            style = Pack(flex=1, alignment=CENTER)            )我确信这可以改进,但这适用于您的代码吗?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python