我知道有人问过"除非"它可以用作if not
或not in
,但我希望有一个语句可以引入条件语句的异常。例如:
if num >= 0 and num <= 99:
# then do sth (except the following line)
unless num = 10:
# in this case do something else
它比写作更清晰直观:
if (num >= 0 and num <= 9) or (num >= 11 and num <= 99):
# then do sth (except the following line)
elif num = 10:
# in this case do something else
if not statement不会做同样的事情......
注意:我实际上是一个新手,所以请耐心等待我
答案 0 :(得分:7)
普通的如果可以这样做,如果你重新排序这些条款:
if num == 10:
# do the num = 10 thing
elif 0 <= num <= 99:
# do something else
答案 1 :(得分:1)
unless
代码会导致非直观的代码,如果有if
语句,我希望如果整个条件成真,就会发生这样的陈述,如果有办法的话更改它以便您需要找到块的结尾以查看是否有一些单独的案例在阅读代码时会非常令人沮丧。
基本上,当num != 10
是额外条件之一时,您有兴趣运行第一个,所以只需使用:
if 0<=num <= 99 and num!=10:
#statement here
elif num == 10:
#other statement.
另请注意0 <= num <= 99
与0 <= num and num <= 99
基本相同,但更容易理解:)
答案 2 :(得分:0)
反转其他并先检查10。
If num == 10:
# in this case do something
elif num >= 0 and num <= 99:
# then do sth