如何在python中if - elif语句中计算多个表达式?

时间:2017-11-14 09:53:29

标签: python if-statement

如何在下面的代码snipet中评估if - elif中的多个表达式。

我确定它的基本语法问题

n=5
if n%2 != 0:    
    print ("weird")    
elif n%2 == 0 && 2 < n && n <5:    
    print "Not Weird"
elif n%2 == 0 && 6 < n && n < 20:
    print "Weird"
elif n%2 == 0 && n >20:
    print "NOt Weird"

5 个答案:

答案 0 :(得分:2)

试试这个:

n = 5

if n % 2:    
    print("weird")    
elif 2 < n < 5:    
    print("Not Weird")
elif 6 < n < 20:
    print("Weird")
elif n > 20:
    print("NOt Weird")

答案 1 :(得分:0)

将尺寸缩小一点:

n = 5

if n % 2 != 0:
    print("weird")
else:
    if 2 < n < 5:
        print("Not Weird")
    elif 6 < n < 20:
        print("Weird")
    elif 20 < n:
        print("NOt Weird")

答案 2 :(得分:0)

写作时要注意的其他几点:

1.如果条件重复将其分解为嵌套的if-else,则不要重复代码。使用2 < n < 5而不是2 < n and n < 5,以pythonic风格编写代码 3.对于默认情况使用else,不要放置不必要的条件 4.您使用的是两种不同风格的印花,请使用一种。

n=5
if n%2 != 0:    
    print("weird")    
else:
    if 2 < n < 5:    
        print("Not Weird")
    elif 6 < n < 20:
        print("Weird")
    else:
        print("NOt Weird")

答案 3 :(得分:0)

如果if / elif语句中有多个分支执行相同的操作,则可以使用n = 5 if n % 2 != 0 or (not n % 2 and 6 < n < 20): print("weird") else: print("Not Weird") 运算符。 这样的事情可能有用:

SetEnvIf CF-IPCountry "(.*)" COUNTRY=$1
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{ENV:COUNTRY} [A-Z]{2}
    RewriteCond %{QUERY_STRING} !country [NC]
    RewriteRule ^/consultation(.*) %{REQUEST_URI}?country=%{ENV:COUNTRY} [L,QSA,R]
</IfModule>

答案 4 :(得分:0)

试试这个

SDL_RenderClear(playContext->display->renderer);
SDL_RenderCopy(playContext->display->renderer, playContext->textureQ.head->bmp, NULL, NULL);
SDL_RenderPresent(playContext->display->renderer);