Python 构建一个简单的两位数运算型计算器?陷入错误
错误是Python 构建一个简单的两位数运算型计算器?陷入错误,python,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": addit
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)
回溯(最近一次呼叫最后一次):
文件“C:\Users\Aafaq\workspace\python\project 1.py”,第34行,在
c=输入(“类型操作”)
文件“C:\Program Files(x86)\eclipse\plugins\org.python.pydev_4.5.5.201603221110\pysrc\pydev_sitecustomize\sitecustomize.py”,第141行,输入
返回评估(原始输入(提示))
文件“”,第1行,在
名称错误:未定义名称“添加”
您的代码中存在一些问题。下面提到了一些。
如果主代码中使用了加法变量,则可能需要尝试其他名称或将加法声明为全局变量
在打印报表下方或上方:
加法=0
此外,您正在将接收到的操作设置为变量名c,该变量名未在任何地方引用,该变量名应设置为变量名输入(这是一个系统定义函数名,您不应使用该名称将其与字符串进行比较)
您可能正在尝试这样做:
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
input
是一个函数,因此不能将其用作变量(您甚至还没有定义)。将c
作为参数传递给add_numbers
,并使用该参数查看用户的选择。此外,您的if
和else
结构也会出错。您是否打算使用elif
而不是附加的if
s?还有一些事情。函数添加编号
中的第一个操作
从全局上下文中取出。最好将其作为附加参数提供。第二,“add_function”这个名字有误导性,因为这个函数不仅仅是添加两个数字。当然,在Python2中使用input
是危险的。最好使用raw\u input
并使用int()
强制转换结果(如果需要)。是的,更好的方法是传递操作参数并更改函数名,因为它所做的工作远不止添加数字。
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)