Python 为什么代码会抛出错误';变量';没有定义
我的代码:Python 为什么代码会抛出错误';变量';没有定义,python,Python,我的代码: def divide(x,y): div = divmod(x,y) return div query = input("Enter numbers separated with a comma to divide: ") divide(int(query.split(',')[0]),int(query.split(',')[1])) print(div) 为什么会抛出错误: NameError: name 'div' is not defined. 因
def divide(x,y):
div = divmod(x,y)
return div
query = input("Enter numbers separated with a comma to divide: ")
divide(int(query.split(',')[0]),int(query.split(',')[1]))
print(div)
为什么会抛出错误:
NameError: name 'div' is not defined.
因为
div
是一个局部变量,并且是divide
函数的局部变量,所以它在其他任何地方都是未知的。您可以尝试以下任一方法:
def divide(x,y):
div = divmod(x,y)
return div
query = input("Enter numbers separated with a comma to divide: ")
print(divide(int(query.split(',')[0]),int(query.split(',')[1])))
def divide(x,y):
div = divmod(x,y)
return div
query = input("Enter numbers separated with a comma to divide: ")
div = divide(int(query.split(',')[0]),int(query.split(',')[1]))
print(div)
因为
div
是函数divide
中的一个局部变量,您试图将其作为全局变量访问
该代码应为:
def divide(x,y):
div = divmod(x,y)
return div
query = input("Enter numbers separated with a comma to divide: ")
print(divide(int(query.split(',')[0]),int(query.split(',')[1])))
因为它不存在于该范围内。从您的问题历史来看,您已经使用PHP一段时间了?它的工作原理完全相同。如果您想了解更多信息:@Ryan是的,我使用PHP有很长一段时间了,但从来没有遇到过这样的PHP。当您直接进行打印时,这不会消除函数divide()的用途吗?我想用defNo,如果你只想打印它,它就不会。如果你想稍后使用,那么使用第二种方法,它将其存储在一个全局变量中。第二种方法不使用全局变量,它只是外部作用域中的一个普通变量,恰好与函数中的局部变量同名。@mkrieger1这意味着它是一个全局变量,其他函数可以使用关键字
global
访问和修改它。