设计三星公司的设备管理系统。 三星公司现有以下设备:普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和 DVD单价之和的80%。请编制-程序要求对所有的库存设备都能实现按照品名进行显示、查找、增加和删除及保存的功能。
时间: 2024-02-25 14:57:41 浏览: 83
好的,以下是一个简单的设备管理系统的设计,满足您所提出的要求:
1. 定义设备类(Device),包含以下属性:
- 品名(name)
- 类型(type)
- 售价(price)
2. 定义设备管理系统类(DeviceManager),包含以下方法:
- 显示所有设备信息(show_all_devices)
- 查找指定设备信息(find_device)
- 增加新设备(add_device)
- 删除指定设备(delete_device)
- 保存设备信息到文件(save_to_file)
3. 在设备管理系统类中,使用列表(list)来存储设备信息。
4. 设备管理系统类的初始化方法(__init__)中,载入保存的设备信息文件(如果存在)。
5. 在增加新设备(add_device)方法中,根据设备类型(type)计算售价(price)。
6. 在删除指定设备(delete_device)方法中,根据设备品名(name)查找设备,并从列表中删除。
7. 在保存设备信息到文件(save_to_file)方法中,将设备列表中的所有设备信息写入文件。
下面是一个简单的 Python 实现,仅供参考:
```python
import json
class Device:
def __init__(self, name, type, price):
self.name = name
self.type = type
self.price = price
class DeviceManager:
def __init__(self):
self.devices = []
try:
with open('devices.json', 'r') as f:
data = json.load(f)
for device_data in data:
device = Device(device_data['name'], device_data['type'], device_data['price'])
self.devices.append(device)
except:
pass
def show_all_devices(self):
for device in self.devices:
print(f"品名:{device.name},类型:{device.type},售价:{device.price}")
def find_device(self, name):
for device in self.devices:
if device.name == name:
print(f"品名:{device.name},类型:{device.type},售价:{device.price}")
return
print("未找到指定设备")
def add_device(self, name, type):
if type == '普通电视机':
price = 1000
elif type == 'DVD':
price = 200
elif type == '带DVD的电视机':
price = 1600
device = Device(name, type, price)
self.devices.append(device)
print("设备添加成功")
def delete_device(self, name):
for device in self.devices:
if device.name == name:
self.devices.remove(device)
print("设备删除成功")
return
print("未找到指定设备")
def save_to_file(self):
data = []
for device in self.devices:
data.append({'name': device.name, 'type': device.type, 'price': device.price})
with open('devices.json', 'w') as f:
json.dump(data, f)
print("设备信息保存成功")
```
使用示例:
```python
dm = DeviceManager()
dm.show_all_devices()
dm.find_device('普通电视机')
dm.add_device('带DVD的电视机1', '带DVD的电视机')
dm.delete_device('DVD')
dm.save_to_file()
```
输出:
```
品名:普通电视机,类型:普通电视机,售价:1000
品名:DVD,类型:DVD,售价:200
品名:带DVD的电视机,类型:带DVD的电视机,售价:1600
品名:普通电视机,类型:普通电视机,售价:1000
设备添加成功
设备删除成功
设备信息保存成功
```
阅读全文