对刚才你写出的代码进行升级,要求:对药品的信息添加生产厂家、生产日期和药品功效,并可以通过这几项进行查询
时间: 2024-02-12 14:09:37 浏览: 19
好的,针对你的要求,我给出以下升级版本的代码:
```python
class Medicine:
def __init__(self, name, price, manufacturer, production_date, efficacy):
self.name = name
self.price = price
self.manufacturer = manufacturer
self.production_date = production_date
self.efficacy = efficacy
class Pharmacy:
def __init__(self):
self.medicines = []
def add_medicine(self, medicine):
self.medicines.append(medicine)
def remove_medicine(self, name):
for medicine in self.medicines:
if medicine.name == name:
self.medicines.remove(medicine)
def search_by_name(self, name):
for medicine in self.medicines:
if medicine.name == name:
return medicine
return None
def search_by_manufacturer(self, manufacturer):
searched_medicines = []
for medicine in self.medicines:
if medicine.manufacturer == manufacturer:
searched_medicines.append(medicine)
return searched_medicines
def search_by_production_date(self, production_date):
searched_medicines = []
for medicine in self.medicines:
if medicine.production_date == production_date:
searched_medicines.append(medicine)
return searched_medicines
def search_by_efficacy(self, efficacy):
searched_medicines = []
for medicine in self.medicines:
if medicine.efficacy == efficacy:
searched_medicines.append(medicine)
return searched_medicines
```
在这个版本的代码中,我们新增了三个变量:`manufacturer`、`production_date` 和 `efficacy`,分别表示药品的生产厂家、生产日期和药品功效。同时,我们新增了三个查询函数:`search_by_manufacturer`、`search_by_production_date` 和 `search_by_efficacy`,分别用于根据生产厂家、生产日期和药品功效进行查询。这些变化使得我们能够更全面、更准确地管理药品信息。