好友
阅读权限40
听众
最后登录1970-1-1
|
举几个例子:
[Python] 纯文本查看 复制代码 if 条件1:
xxx
elif 条件2:
(这里可能需要计算出一个临时条件用于条件3的判断)
if 条件3:
xxx
elif 条件4:
xxx
else:
xxx
第一种情况:我希望在多重elif里面,需要同时判断同时满足多重情况,比如上面的条件2和条件3要同时满足才执行某些语句,否则继续看条件4和其他elif是否满足.但是在这里如果条件2满足条件3不满足就不继续执行下面的elif了.如何让条件2满足并且条件3不满足继续执行下面的elif?
条件2和条件3不能直接在elif里面用and链接,有这么几个原因:
1.条件2和条件3计算本身就很吃cpu资源,如果用and在复杂的情况会导致程序变得更慢.我试过python在处理if判断的时候会计算所有条件,不管if是否已经满足(比如and链接两个条件,第一个条件不满足也会计算第二个)
2.条件3必须在条件2成立之后才能进行判断,否则会出错.比如一个字符串,条件2是判断字符串里面有没有a,然后条件3是判断a后面有没有b.我不能在不确定字符串有没有a的情况下判断a后面有没有b
3.在条件2之后需要计算一个临时的结果用于条件3的判断.比如我需要判断一个字符串里面有没有a.然后如果有a那么要用切片生成一个临时字符串来判断a后面有没有b.
如果条件2满足了但是条件3不满足的情况下python会直接跳出整个if判断,如何让条件2满足但是条件3不满足的情况下继续下面的其他elif和else的判断?
第二种情况
if 条件1:
xxx
elif (我希望临时计算的表达式) 条件2 and 条件3:
xxx
else:
xxx
第二种情况:我希望在某些elif之后进行一些临时的运算来进行接下来的判断.比如上面的条件2和条件3都依赖于临时计算的判断条件.如果我都写在函数里面的话那又多了一个只用一次的临时函数,代码也会更乱.而且条件2和条件3需要分别计算一次,效率也很低.有没有办法在每次elif执行的时候先计算一些结果然后再进行判断?
不能直接写在if前面,因为如果第一个条件满足了那么这个计算就是纯粹浪费了.而我是要第一个条件不满足的情况下再每次elif的时候进行一个临时计算用于条件判断 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|