定义计算器类Calculator要求包含: 成员属性:运算数1为整型、运算符(op)、运算数2为整型; 成员方法:calc(功能为根据运算符完成加、减、乘、除四种运算并打印运算结果); 请分析主程序并实现功能: 从键盘输入用空格分开的运算式(如:35 + 15),能创建计算器对象,然后通过对象调用成员方法calc得出计算结果。 函数接口定义: class Calculator(): ### 请设计你的代码 裁判测试程序样例: 代码及主程序结构如下: /* 请在这里填写答案 */ n = input().split() n = Calculator(eval(n[0]),n[1],eval(n[2])) print("{}{}{}={}".format(n.numx,n.op,n.numy,n.calc()))
时间: 2024-03-13 09:47:49 浏览: 101
根据题目要求,我们可以设计如下的 Calculator 类:
```python
class Calculator:
def __init__(self, numx, op, numy):
self.numx = numx
self.op = op
self.numy = numy
def calc(self):
if self.op == "+":
return self.numx + self.numy
elif self.op == "-":
return self.numx - self.numy
elif self.op == "*":
return self.numx * self.numy
elif self.op == "/":
return self.numx / self.numy
else:
return None
```
上述代码中,我们定义了一个 Calculator 类,它包含了三个成员属性:numx(整型)、op(运算符)、numy(整型)。另外,我们还定义了一个成员方法 calc,它可以根据运算符完成加、减、乘、除四种运算,并返回运算结果。
接下来,我们可以编写主程序,读入用户输入的运算式,创建 Calculator 对象并调用 calc 方法计算结果,最后输出计算结果。代码如下:
```python
n = input().split()
n = Calculator(eval(n[0]), n[1], eval(n[2]))
print("{}{}{}={}".format(n.numx, n.op, n.numy, n.calc()))
```
在上面的代码中,我们先使用 `input().split()` 读入用户输入的运算式,然后使用 `eval()` 函数将字符串类型的数字转换为整型。接着,我们创建了一个 Calculator 对象 n,并将输入的 numx、op、numy 分别作为构造函数的参数传递进去。最后,我们通过 `n.calc()` 调用 calc 方法计算结果,并使用格式化字符串输出计算结果。
需要注意的是,这里假设用户输入的运算式格式正确,否则可能会出现类型转换错误或者运算符错误等问题。
阅读全文