当我尝试运行下面的代码时,出现名称错误
def multiply(x,y):
x = int(input("Enter a whole number: "))
y = int(input("Enter a whole number: "))
return x * y
print(x, "*", y, "=", multiply())
输出:
NameError Traceback (most recent call last)
<ipython-input-1-611728e87d5f> in <module>()
3 y = int(input("Enter a whole number: "))
4 return x * y
----> 5 print(x, "*", y, "=", multiply())
NameError: name 'x' is not defined
答案 0 :(得分:0)
尝试
def multiply():
x = int(input("Enter a whole number: "))
y = int(input("Enter a whole number: "))
return(str(x)+ "*"+ str(y)+ "="+str(x*y))
print(multiply())
答案 1 :(得分:0)
问题在于x
和y
是函数multiply()
中的变量。它们不存在于函数之外。
编写一个进行一些处理并打印和读取的函数通常不是一个好主意。如果函数打印或读取,则只能执行此操作。
但是,如果您确实希望函数读取两个变量并返回变量及其乘积,则可以执行以下操作:
def read_and_multiply():
n1 = int(input("Enter a whole number: "))
n2 = int(input("Enter a whole number: "))
m = n1 * n2
return n1, n2, m
x, y, m = read_and_multiply()
print(x, "*", y, "=", m)