用面向对象程序设计方法去实现计算一组整数中的最大值和最小值。 功能:1)这组整数可以从键盘得到,也可以从文件中获得。2)最大值和最小值可以输出到显示器,也可以输出到文件。
时间: 2024-05-05 09:20:54 浏览: 71
以下是用面向对象程序设计方法实现计算一组整数中的最大值和最小值的Python代码:
```python
class IntegerSet:
def __init__(self):
self.integers = []
def add_integer(self, integer):
self.integers.append(integer)
def get_max(self):
return max(self.integers)
def get_min(self):
return min(self.integers)
def load_from_file(self, filename):
with open(filename, 'r') as file:
for line in file:
integer = int(line.strip())
self.add_integer(integer)
def save_to_file(self, filename):
with open(filename, 'w') as file:
for integer in self.integers:
file.write(str(integer) + '\n')
def main():
integer_set = IntegerSet()
# 从键盘读取整数
while True:
integer_str = input("请输入整数,输入exit结束:")
if integer_str == 'exit':
break
integer = int(integer_str)
integer_set.add_integer(integer)
# 输出最大值和最小值到显示器
print("最大值为:", integer_set.get_max())
print("最小值为:", integer_set.get_min())
# 将整数集合保存到文件
integer_set.save_to_file('integers.txt')
# 从文件中读取整数集合
integer_set = IntegerSet()
integer_set.load_from_file('integers.txt')
# 输出最大值和最小值到文件
with open('result.txt', 'w') as file:
file.write("最大值为:" + str(integer_set.get_max()) + '\n')
file.write("最小值为:" + str(integer_set.get_min()) + '\n')
if __name__ == '__main__':
main()
```
首先定义了一个 `IntegerSet` 类,用于存储一组整数,并提供计算最大值和最小值的方法。`__init__` 方法用于创建一个空的整数集合,`add_integer` 方法用于向集合中添加整数,`get_max` 方法用于计算最大值,`get_min` 方法用于计算最小值,`load_from_file` 方法用于从文件中读取整数集合,`save_to_file` 方法用于将整数集合保存到文件中。
在 `main` 函数中,首先创建一个 `IntegerSet` 对象,然后从键盘读取整数,将整数添加到集合中。然后调用 `get_max` 和 `get_min` 方法计算最大值和最小值,并输出到显示器上。接着将整数集合保存到文件中,再从文件中读取整数集合,计算最大值和最小值,并将结果输出到文件中。
阅读全文