我写了一个简单的代码来查找数字是偶数还是奇数。
这是我的代码:
print("To find number is even or odd")
print("Enter the number ")
def is_even():
num=int(input())
if(num % 2 == 0):
print("Even")
else:
print("Odd")
当我运行我的代码时,它显示错误:
查找数字是偶数还是奇数 输入数字
Traceback (most recent call last):
File "C:/Python34/even.py", line 6, in <module>
if(num % 2 == 0):
NameError: name 'num' is not defined
有人可以解释为什么即使我将输入替换为任何print语句也不会执行函数之后的下一行也不会被执行。
答案 0 :(得分:0)
你的缩进搞砸了(记住python有有趣的缩进规则)。此外,您不能在函数标识符中使用下划线。现在,num
的范围仅在函数iseven()
中,所以外面的任何东西都无法读取它。这是更正后的代码。
print("To find number is even or odd")
print("Enter the number ")
def iseven():
num=int(input())
if(num % 2 == 0):
print("Even")
else:
print("Odd")
iseven()
答案 1 :(得分:0)
您的num
变量仅在is_even()
函数内定义,因此它是该函数的本地变量,无法在外部访问,而且您永远不会调用该函数。对我来说,看起来你打算在函数内部定义代码的检查部分,如果是这样,你需要在函数内部正确缩进部分,缩进在python中很重要,它用于定义块。如果是这样,你需要在定义它之后调用该函数,否则它将无效 -
print("To find number is even or odd")
print("Enter the number ")
def is_even():
num=int(input())
if(num % 2 == 0):
print("Even")
else:
print("Odd")
is_even()