例如 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 2
什么鬼,你脑抽了吗?
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
写两遍的地方,你搞成一个函数啊
|