Python 3.x 名称错误:名称'';没有定义

Python 3.x 名称错误:名称'';没有定义,python-3.x,nameerror,Python 3.x,Nameerror,我有一个简单的代码如下 finished = True def number(): x = int(input("Please enter a number \n")) m = x%2 if m>0: print("Odd") finished = True else: print("Even") finished = True while finished: number() 当我运行代码时,它显示了一个问题 at lin

我有一个简单的代码如下

finished = True

def number():
    x = int(input("Please enter a number \n"))
    m = x%2

if m>0:
    print("Odd")
    finished = True
else: 
    print("Even")
    finished = True

while finished:
    number()
当我运行代码时,它显示了一个问题

at line 6: if m > 0:
NameError: name 'm' is not defined. 

想知道如何解决这个问题吗?

只需在函数中移动if语句

def number():
    x = int(input("Please enter a number \n"))
    m = x%2
    if m>0:
        print("Odd")
        finished = True
    else: 
        print("Even")
        finished = True

在使用前定义
m
?是否打算将
def number():
之后的所有内容都作为该函数的一部分?如果是的话,你需要修正你的缩进。你的问题的标题是什么?我可以知道哪个缩进需要修正吗?我有NameError问题。只有
def number():
行下的缩进行是函数的一部分。其他代码都不知道函数中定义的变量。你可能会发现理解这里发生的事情很有帮助