例如 mode=0 时,语句为
if(a==1)
mode=1 时,语句为
if(a!=1)
除了把整一段重新写过外,还有其他更简便的方法吗?
![]() | 1 lwbjing 2017-10-14 23:33:00 +08:00 via iPhone 节点啊… 把两个条件的值根据 mode 判断后存起来用 |
2 cdwyd 2017-10-14 23:36:27 +08:00 via Android 没看很明白 if mode == 0 and a == 1: pass if mode == 1 and a != 1: pass |
![]() | 3 187j3x1 2017-10-14 23:37:35 +08:00 { 1: func_one, 0: func_zero, } |
4 amai 2017-10-14 23:38:33 +08:00 不是太理解你的意思,你是要做取反还是要做与运算? |
![]() | 5 litter123 OP @cdwyd emm......,我的表述能力有点问题。如果我要改的话,是要改成以下这样的,不知道有没有更好的修改方法。 if mode==0: if(a==1): xxxxxxxxxxxxx xxxxxxxxxx xxxxxxxxxxx else if mode==1: if(a!=-1): xxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxxx 感觉我这样要把代码写两遍,不知道有没有更好的方法 |
![]() | 6 ipwx 2017-10-14 23:52:06 +08:00 ![]() 什么鬼,你脑抽了吗? if (mode == 0 and a == 1) or (mode == 1 and a != -1) |
7 Arnie97 2017-10-14 23:54:51 +08:00 via Android 你的意思是异或么 if mode ^ (a == 1): |
8 amai 2017-10-15 00:05:37 +08:00 @litter123 你表达的还是有问题,你不妨放出修改前和预期修改后 根据你 2 次的举例,很让人不明白你是要取反还是具体的数值判断 if(a!=-1): #这里- 1 是具体的数值判断,并不是取反 这里很容易让人误解因为你 2 次说的有出入 如果说为了简写?可以写成 与 判断 如果是代码复用方面的问题就是你说的写 2 遍,可以考虑抽东西出来提高代码复用率 |
![]() | 9 takeoffyoung 2017-10-15 00:10:26 +08:00 写两遍的地方,你搞成一个函数啊 |