有什么"除非"在Python中,它的作用类似于"除了"但对于普通代码,不是例外

时间:2016-10-28 19:47:58

标签: python-3.x conditional

我知道有人问过"除非"它可以用作if notnot 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不会做同样的事情......

注意:我实际上是一个新手,所以请耐心等待我

3 个答案:

答案 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 <= 990 <= num and num <= 99基本相同,但更容易理解:)

答案 2 :(得分:0)

反转其他并先检查10。

If num == 10:
    # in this case do something
elif num >= 0 and num <= 99:
    # then do sth