Python 尝试在if语句之外调用函数
我正在做一些Python练习,遇到了一个令人沮丧的错误:Python 尝试在if语句之外调用函数,python,Python,我正在做一些Python练习,遇到了一个令人沮丧的错误: line 18, in <module> modulo() NameError: name 'modulo' is not defined 使modulo接受一个参数,在if语句之外定义它 def modulo(num): answer = int(num) % 2 if answer == 0: print("Your number, " + num + " is even.") elif a
line 18, in <module>
modulo()
NameError: name 'modulo' is not defined
使
modulo
接受一个参数,在if语句之外定义它
def modulo(num):
answer = int(num) % 2
if answer == 0:
print("Your number, " + num + " is even.")
elif answer > 0:
print("Your number, " + num + " is odd.")
else:
print("Error. Please try again.")
number = input("Please enter a number: ")
if number.isdigit():
modulo(number)
else:
print("Please try again")
使
modulo
接受一个参数,在if语句之外定义它
def modulo(num):
answer = int(num) % 2
if answer == 0:
print("Your number, " + num + " is even.")
elif answer > 0:
print("Your number, " + num + " is odd.")
else:
print("Error. Please try again.")
number = input("Please enter a number: ")
if number.isdigit():
modulo(number)
else:
print("Please try again")
您应该在if语句之外编写函数,在这种情况下,函数将仅在
number.isdigit()
为True
时定义。您应该在if语句之外编写函数,在这种情况下,函数将仅在number.isdigit()时定义
为True
函数在if语句内部定义,但在外部使用。如果if语句从未运行,那么这将不起作用。@rdas谢谢!天哪,那太愚蠢了。通过在if语句中调用它修复了它。我很欣赏这种快速的响应。只是一个一般性的建议,python有作用域,在作用域内定义的东西在它之外是无法访问的。这意味着,例如,函数中使用的变量对于函数之外的任何对象都是不可访问的,对于定义,必须先运行这些变量,然后才能调用它们。快乐编码!该函数在if语句内部定义,但在外部使用。如果if语句从未运行,那么这将不起作用。@rdas谢谢!天哪,那太愚蠢了。通过在if语句中调用它修复了它。我很欣赏这种快速的响应。只是一个一般性的建议,python有作用域,在作用域内定义的东西在它之外是无法访问的。这意味着,例如,函数中使用的变量对于函数之外的任何对象都是不可访问的,对于定义,必须先运行这些变量,然后才能调用它们。快乐编码!非常感谢。对于python来说,这帮了大忙。谢谢!对于python来说,这有很大帮助。