为什么在这个if语句中调用变量会给我一个语法错误。我在这里错过了什么规则?

时间:2017-05-22 20:38:58

标签: python python-3.x if-statement syntax-error

我正在使用python 3.我试图理解为什么这段代码在我的第三行给出了语法错误,其中显示“如果不是n%2 == 0”。我认为我缺少一些规则。我正在尝试的是对输入的整数施加一些条件以给我一个特定的输出。

n = int(input().strip()) 

def find_weird(n):
If not n % 2 == 0:
return "Weird"

Elif n % 2 == 0 and N < 5 and N > 2:
return "Not Weird"

Elif n % 2 == 0 and N < 20 and N > 6:
return "Weird"

Elif n % 2 == 0 and N > 20:
return "Not Weird"

编辑:对不起,没有正确复制代码片段是我的错(在实际的IDE中我正确缩进)。正是这个资本化让我在一天结束时。叹了一口气,在这里发布第一个问题的方法是什么。真难为情!

3 个答案:

答案 0 :(得分:2)

Python区分大小写。 ifelifelse应为小写。此外,您想要在这样的块中执行的任何内容都需要缩进:

def find_weird(n):
    if not n % 2 == 0:
        return "Weird"

    elif n % 2 == 0 and n < 5 and n > 2:
        return "Not Weird"

    elif n % 2 == 0 and n < 20 and n > 6:
        return "Weird"

    elif n % 2 == 0 and n > 20:
        return "Not Weird"

答案 1 :(得分:0)

elifn = int(input().strip()) def find_weird(n): if not n % 2 == 0: return "Weird" elif n % 2 == 0 and n < 5 and n > 2: return "Not Weird" elif n % 2 == 0 and n < 20 and n> 6: return "Weird" elif n % 2 == 0 and n > 20: return "Not Weird" 未大写。 Python区分大小写。此外,您需要缩进代码。它应该是这样的:

{{1}}

答案 2 :(得分:0)

我看到的三个问题。

  1. 如果和Elif不应该大写。
  2. 使用expr1 != expr2而不是not expr1 == expr2
  3. 在if语句后正确缩进代码。
  4. 请尝试使用此代码:

    n = int(input().strip()) 
    
    def find_weird(n):
        if n % 2 != 0:
            return "Weird"
    
        elif n % 2 != 0 and n < 5 and n > 2:
            return "Not Weird"
    
        elif n % 2 == 0 and n < 20 and n > 6:
            return "Weird"
    
        elif n % 2 == 0 and n > 20:
            return "Not Weird"