Altough Num1已定义显示错误,表示不是:( 我试过这个有和没有int()但仍然产生相同的错误。 仅供上下文使用,这是一个计算器。
def main():
Num1 = int(input("Please type First Number:"))
calc = input("x,+,-,/")
Num2 = int(input("Please type Second Number:"))
if(calc == "x"):
multiply()
def multiply():
Num1 * Num2
答案 0 :(得分:2)
Num1
和Num2
的定义范围为main
,而不是multiply
。你需要传递它们。
我还应该指出你的multiply
函数不会返回任何内容
答案 1 :(得分:1)
它是在另一个函数中本地定义的,你需要有一个全局变量并使用
def multiply():
global num1
但真正的解决方案是,你应该使用乘法函数取参数,如此
def multiply(a, b):
return a * b
你应该叫它
print multiply(num1, num2)
编辑:当然,在main()函数内调用它,没有全局变量。
答案 2 :(得分:0)
Num1
已定义,但在另一个范围中。在您的情况下,它是一个函数main()
。您应该将这两个变量作为参数传递或将它们设为全局。