为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

BIG阳 2024-01-15 21:15:09
我想制作一个 9x9 的表,用户可以在其中插入值。正如您在代码中看到的,我使用了大量语句来实现此目的。我必须单独进行每个输入。我希望是否有一种方法可以使用 for 循环或其他方法来消除这些语句。我不知道是否有可能做到这一点。请帮帮我。另外,谁能告诉我如何在应用程序的中心保留一个按钮?我必须使用填充来实现此功能。还有其他办法吗?我尝试过style=Pack(alignment=CENTER)但没有成功。我使用它得到的输出是:

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

是的,一个简单的 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)

            )

我确信这可以改进,但这适用于您的代码吗?


查看完整回答
反对 回复 2024-01-15

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号