1.定义一个名为AddClass的类,该类有add_func方法,实现a*num1+ numb2的运算;定义另一个名为SubClass的类,该类有sub_func方法,实现num1-b*numb2的运算。其中,num1和num2为从键盘上输入的任意两个数字,a与b分别为AddClass与SubClass的属性,且分别初始化为0.3和0.7。调用CalcClass类中的方法,分别实现add_func和sub_func中的运算,并将运算结果打印输出。要求从键盘中输入的字符非数字时,提示重新输入,并按以下两种方式实现上述功能。,要求python
时间: 2024-02-06 19:10:01 浏览: 104
以下是实现题目要求的代码:
```python
class AddClass:
def __init__(self, a=0.3):
self.a = a
def add_func(self, num1, num2):
return self.a * num1 + num2
class SubClass:
def __init__(self, b=0.7):
self.b = b
def sub_func(self, num1, num2):
return num1 - self.b * num2
class CalcClass:
def __init__(self):
self.add_obj = AddClass()
self.sub_obj = SubClass()
def calc(self):
while True:
try:
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))
print("加法运算结果:", self.add_obj.add_func(num1, num2))
print("减法运算结果:", self.sub_obj.sub_func(num1, num2))
break
except ValueError:
print("输入错误,请重新输入数字!")
calc_obj = CalcClass()
calc_obj.calc()
```
首先定义了AddClass和SubClass两个类,分别实现加法和减法运算。在CalcClass类中,初始化了AddClass和SubClass对象,然后通过calc方法进行运算。
在calc方法中,使用while循环和try-except语句对用户输入进行判断,如果输入的不是数字,则提示用户重新输入。如果输入的是数字,则调用AddClass和SubClass的方法进行运算,并将结果打印输出。最后使用break语句结束循环。
最后创建CalcClass对象并调用calc方法,实现题目要求的功能。
阅读全文