用python编程一个疫情物资管理系统程序
时间: 2023-10-08 19:07:44 浏览: 44
好的,我可以为您提供一个简单的疫情物资管理系统的Python程序,供您参考:
```python
import csv
class Material:
def __init__(self, name, amount, location):
self.name = name
self.amount = amount
self.location = location
class MaterialManager:
def __init__(self):
self.materials = []
def load_materials(self, filename):
with open(filename, 'r') as file:
reader = csv.reader(file)
for row in reader:
name = row[0]
amount = int(row[1])
location = row[2]
self.materials.append(Material(name, amount, location))
def save_materials(self, filename):
with open(filename, 'w', newline='') as file:
writer = csv.writer(file)
for material in self.materials:
writer.writerow([material.name, material.amount, material.location])
def list_materials(self):
for material in self.materials:
print(f"{material.name}: {material.amount} ({material.location})")
def add_material(self, name, amount, location):
self.materials.append(Material(name, amount, location))
def remove_material(self, name):
for material in self.materials:
if material.name == name:
self.materials.remove(material)
def update_material(self, name, amount, location):
for material in self.materials:
if material.name == name:
material.amount = amount
material.location = location
manager = MaterialManager()
while True:
print("1. Load materials")
print("2. Save materials")
print("3. List materials")
print("4. Add material")
print("5. Remove material")
print("6. Update material")
print("7. Quit")
choice = input("Enter your choice: ")
if choice == '1':
filename = input("Enter filename: ")
manager.load_materials(filename)
elif choice == '2':
filename = input("Enter filename: ")
manager.save_materials(filename)
elif choice == '3':
manager.list_materials()
elif choice == '4':
name = input("Enter name: ")
amount = int(input("Enter amount: "))
location = input("Enter location: ")
manager.add_material(name, amount, location)
elif choice == '5':
name = input("Enter name: ")
manager.remove_material(name)
elif choice == '6':
name = input("Enter name: ")
amount = int(input("Enter amount: "))
location = input("Enter location: ")
manager.update_material(name, amount, location)
elif choice == '7':
break
else:
print("Invalid choice. Please try again.")
```
这个程序使用了一个Material类来表示物资的信息,MaterialManager类来管理物资的增删改查操作。用户可以通过控制台输入数字选择不同的操作,如加载物资、保存物资、列出物资、添加物资、删除物资和更新物资等。所有的物资信息都存储在一个CSV文件中,可以通过读写文件来实现物资信息的持久化。