我有一个tkinter应用程序,我正在工作,它有一个按钮,当按下它时,会触发一个函数。我还有大约7个复选框,当选中时,它会将自己的变量从0更改为1。你知道吗
在函数中,我有一堆if语句,它们遍历复选框的每个组合,执行和操作。这个问题是因为复选框可以有两种状态,off(0)和on(1),有7个复选框——如果我们用2到7的幂来计算每个组合,那么我需要写出128个if语句。你知道吗
我还考虑过编写7 if语句来检查每个复选框的每个状态,然后转到下一个复选框,但是因为我需要循环遍历2个列表并执行不同的操作,所以如果没有重复的日志或我需要的细节,很难记录每个阶段发生的事情。你知道吗
有没有更好的办法?你知道吗
任何帮助都会很好,谢谢!你知道吗
if语句之一的示例
if 'PId' in df and 'CId' in df:
for i, w in zip(df['CId'], df['PId']):
if varsd.get() == 1 and varad.get() == 1 and vared.get() == 0
and varcn.get() == 0
and varpn.get() == 0 and varak.get() == 0 and varab.get() == 0:
for i, b, z in zip(df['CId'], df['PId'], df['NewStartDate']):
cd['startDate'] = re.sub('^[0-9]{4}-[0-9]{2}-[0-9]{2}', str(z),
cd['startDate'])
pd['pricingSchedule']['startDate'] = re.sub('^[0-9]{4}-[0-9]{2}-[0-9]{2}',
cd['startDate'], pd['pricingSchedule']['startDate'])
Few more bits
elif varsd.get() == 1 and varad.get() == 0 and vared.get() == 0 and varcn.get() == 0
and varpn.get() == 0 and varak.get() == 0 and varab.get() == 0:
for i, b, z in zip(df['CId'], df['PId'], df['NewStartDate']):
cd['startDate'] = re.sub('^[0-9]{4}-[0-9]{2}-[0-9]{2}', str(z),
cd['startDate'])
Few more bits
为什么不使用
if-else ladder
语句来代替nested if
? 就像相关问题 更多 >
编程相关推荐