Python 类目管理代码示例:添加、删除、修改、查询
以下是一个简单的类目管理代码,包含了添加、删除、修改、查询等基本功能:
class Category:
def __init__(self):
self.categories = {}
def add_category(self, name):
if name not in self.categories:
self.categories[name] = []
print(f'Add category '{name}' successfully!')
else:
print(f'Category '{name}' already exists!')
def delete_category(self, name):
if name in self.categories:
del self.categories[name]
print(f'Delete category '{name}' successfully!')
else:
print(f'Category '{name}' does not exist!')
def update_category(self, old_name, new_name):
if old_name in self.categories:
self.categories[new_name] = self.categories.pop(old_name)
print(f'Update category '{old_name}' to '{new_name}' successfully!')
else:
print(f'Category '{old_name}' does not exist!')
def add_item(self, category, item):
if category in self.categories:
self.categories[category].append(item)
print(f'Add item '{item}' to category '{category}' successfully!')
else:
print(f'Category '{category}' does not exist!')
def delete_item(self, category, item):
if category in self.categories:
if item in self.categories[category]:
self.categories[category].remove(item)
print(f'Delete item '{item}' from category '{category}' successfully!')
else:
print(f'Item '{item}' does not exist in category '{category}'!')
else:
print(f'Category '{category}' does not exist!')
def search_item(self, item):
result = []
for category in self.categories:
if item in self.categories[category]:
result.append(category)
if result:
print(f'Item '{item}' found in categories: {', '.join(result)}')
else:
print(f'Item '{item}' not found in any category!')
# 测试代码
c = Category()
c.add_category('Fruit')
c.add_category('Vegetable')
c.add_item('Fruit', 'Apple')
c.add_item('Fruit', 'Banana')
c.add_item('Vegetable', 'Carrot')
c.add_item('Vegetable', 'Tomato')
c.search_item('Apple')
c.search_item('Tomato')
c.delete_item('Fruit', 'Pear')
c.delete_item('Fruit', 'Banana')
c.delete_category('Fruit')
c.update_category('Vegetable', 'Veggies')
c.search_item('Carrot')
原文地址: https://www.cveoy.top/t/topic/lplK 著作权归作者所有。请勿转载和采集!