TypeError:add()缺少1个必需的位置参数:“ y”

时间:2019-02-10 08:29:03

标签: python

我刚接触python,构建了一个python计算器。

我每次运行时都说:

  

TypeError:add()缺少1个必需的位置参数:“ y”

我知道我没有对添加部分进行编码,但是我想确保它能正常工作。

这是我的代码:

def add(x,y):
    return x + y


def subtract(x,y):
    return x - y


def multiply(x,y):
    return x * y


def divide(x,y):
    return x / y


name = input("Enter your name:")
print('Hello, ' + name)
print("Select operation")
print("1.Add")
print("2.subtract")
print("3.multiply")
print("4.divide")


choice = input("Enter choice(1/2/3/4):")


num1 = input("Enter first number: ")
num2 = input("Enter second number: ")


if choice == '1':
   print(add(num1+num2))

3 个答案:

答案 0 :(得分:2)

您需要调用这样的方法

print(add(num1, num2))

答案 1 :(得分:2)

您必须传递以逗号分隔的函数参数,而不是'+'符号

if choice == '1':
   print(add(num1, num2))

答案 2 :(得分:1)

如果看到要添加的函数定义,则需要向其传递x和y两个参数。

但是您只传递了一个参数(因为num1 + num2的值将为一个值,因此它只是一个参数)

您需要将两个参数传递为:

add(num1, num2)

其他功能也一样,所以

subtract(num1, num2)
multiply(num1, num2)

以此类推