为两位数构建一个简单的操作类型计算器?卡在错误

时间:2016-06-08 10:31:24

标签: python

print("Welcome to MusCalculator")
print("For adding two no type add")
print("for mutiplying type multiply")
print("for subtraction type subtract")
print("for dividing type divide")

def add_numbers(x, y):
    if input == "addition":
        addition = x + y
        print addition

    if input == "multiply":
        multiply = x*y
        print multiply

    if input == "subtract":
        if x > y:
            sub = x - y
            print sub
        else:
            sub = y - x
            print sub

    if input == "divide":
        div = x / y
        print div
    else:
        print("Use me if you know me") 



x = input("First No.")
y = input("Second No.")
addition = x + y
c = input("Type Operation")

add_numbers(x, y)

错误是

Traceback (most recent call last):
  File "C:\Users\Aafaq\workspace\python\project 1.py", line 34, in <module>
    c = input("Type Operation")
  File "C:\Program Files (x86)\eclipse\plugins\org.python.pydev_4.5.5.201603221110\pysrc\pydev_sitecustomize\sitecustomize.py", line 141, in input
    return eval(raw_input(prompt))
  File "<string>", line 1, in <module>
NameError: name 'addition' is not defined

1 个答案:

答案 0 :(得分:0)

您的代码中存在一些问题。一些在下面提到。 在主代码中使用了加法变量,您可能希望尝试使用不同的名称或将添加声明为全局变量。

在您的印刷声明之下或之上: 加= 0

此外,您将接收到的操作设置为变量名称c,该变量名称c在任何地方都没有引用,应该已设置为变量名称输入(这是系统定义函数名称,您不应该使用该名称将其与字符串)。

您可能正在尝试这样做:

operation = " "
addition = 0
def add_numbers(x, y):
    if operation == "addition":
        addition = x + y
        print addition

    if input == "multiply":
        multiply = x*y
        print multiply

    if operation == "subtract":
        if x > y:
            sub = x - y
            print sub
        else:
            sub = y - x
            print sub

    if operation == "divide":
        div = x / y
        print div
    else:
        print("Use me if you know me") 


x = input("First No.")
y = input("Second No.")
addition = x + y
operation = input("Type Operation")

add_numbers(x, y)