V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
litter123
V2EX  ›  优惠信息

Python 如何根据一个变量匹配不等于或等于

  •  
  •   litter123 · 2017-10-14 23:25:10 +08:00 · 4246 次点击
    这是一个创建于 2378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如 mode=0 时,语句为

    if(a==1)

    mode=1 时,语句为

    if(a!=1)

    除了把整一段重新写过外,还有其他更简便的方法吗?

    lwbjing
        1
    lwbjing  
       2017-10-14 23:33:00 +08:00 via iPhone
    节点啊…
    把两个条件的值根据 mode 判断后存起来用
    cdwyd
        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
    187j3x1
        3
    187j3x1  
       2017-10-14 23:37:35 +08:00
    {
    1: func_one,
    0: func_zero,
    }
    amai
        4
    amai  
       2017-10-14 23:38:33 +08:00
    不是太理解你的意思,你是要做取反还是要做与运算?
    litter123
        5
    litter123  
    OP
       2017-10-14 23:42:25 +08:00
    @cdwyd emm......,我的表述能力有点问题。如果我要改的话,是要改成以下这样的,不知道有没有更好的修改方法。

    if mode==0:
    if(a==1):
    xxxxxxxxxxxxx
    xxxxxxxxxx
    xxxxxxxxxxx

    else if mode==1:
    if(a!=-1):
    xxxxxxxxxxx
    xxxxxxxxxxxx
    xxxxxxxxxxxxx
    感觉我这样要把代码写两遍,不知道有没有更好的方法
    ipwx
        6
    ipwx  
       2017-10-14 23:52:06 +08:00   ❤️ 2
    什么鬼,你脑抽了吗?

    if (mode == 0 and a == 1) or (mode == 1 and a != -1)
    Arnie97
        7
    Arnie97  
       2017-10-14 23:54:51 +08:00 via Android
    你的意思是异或么
    if mode ^ (a == 1):
    amai
        8
    amai  
       2017-10-15 00:05:37 +08:00
    @litter123 你表达的还是有问题,你不妨放出修改前和预期修改后

    根据你 2 次的举例,很让人不明白你是要取反还是具体的数值判断
    if(a!=-1): #这里- 1 是具体的数值判断,并不是取反 这里很容易让人误解因为你 2 次说的有出入
    如果说为了简写?可以写成 与 判断

    如果是代码复用方面的问题就是你说的写 2 遍,可以考虑抽东西出来提高代码复用率
    takeoffyoung
        9
    takeoffyoung  
       2017-10-15 00:10:26 +08:00
    写两遍的地方,你搞成一个函数啊
    litter123
        10
    litter123  
    OP
       2017-10-15 00:44:37 +08:00
    @ipwx 噗,想想我好像真的脑抽了,23333
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2834 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 13:56 · PVG 21:56 · LAX 06:56 · JFK 09:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.