以下是一个示例代码,演示如何按照标题、类别、喜欢、不喜欢和发布日期进行搜索:
class Article:
def __init__(self, title, category, likes, dislikes, publish_date):
self.title = title
self.category = category
self.likes = likes
self.dislikes = dislikes
self.publish_date = publish_date
# 创建一些示例文章
articles = [
Article("Python入门指南", "编程", 100, 20, "2021-01-01"),
Article("如何做好项目管理", "管理", 50, 10, "2021-02-01"),
Article("最新科技新闻", "科技", 200, 30, "2021-02-15"),
Article("美食分享", "生活", 80, 5, "2021-03-01")
]
# 按标题搜索
def search_by_title(articles, keyword):
results = []
for article in articles:
if keyword.lower() in article.title.lower():
results.append(article)
return results
# 按类别搜索
def search_by_category(articles, category):
results = []
for article in articles:
if category.lower() == article.category.lower():
results.append(article)
return results
# 按喜欢数量搜索
def search_by_likes(articles, min_likes):
results = []
for article in articles:
if article.likes >= min_likes:
results.append(article)
return results
# 按不喜欢数量搜索
def search_by_dislikes(articles, max_dislikes):
results = []
for article in articles:
if article.dislikes <= max_dislikes:
results.append(article)
return results
# 按发布日期搜索
def search_by_publish_date(articles, start_date, end_date):
results = []
for article in articles:
if start_date <= article.publish_date <= end_date:
results.append(article)
return results
# 示例用法:
# 搜索标题包含"入门"的文章
results1 = search_by_title(articles, "入门")
print("搜索标题包含'入门'的文章:")
for article in results1:
print(article.title)
# 搜索类别为"科技"的文章
results2 = search_by_category(articles, "科技")
print("\n搜索类别为'科技'的文章:")
for article in results2:
print(article.title)
# 搜索喜欢数量大于等于100的文章
results3 = search_by_likes(articles, 100)
print("\n搜索喜欢数量大于等于100的文章:")
for article in results3:
print(article.title)
# 搜索不喜欢数量小于等于10的文章
results4 = search_by_dislikes(articles, 10)
print("\n搜索不喜欢数量小于等于10的文章:")
for article in results4:
print(article.title)
# 搜索发布日期在"2021-01-01"至"2021-02-28"之间的文章
results5 = search_by_publish_date(articles, "2021-01-01", "2021-02-28")
print("\n搜索发布日期在'2021-01-01'至'2021-02-28'之间的文章:")
for article in results5:
print(article.title)
这个示例代码定义了一个Article类来表示文章,然后创建了一些示例文章。然后,通过编写不同的搜索函数,实现了按照标题、类别、喜欢、不喜欢和发布日期进行搜索的功能。最后,对这些搜索函数进行了示例用法演示。