以下是一个示例代码,展示了如何按照百分比和时间前选择项目:
import random
def select_project(projects, percentages):
total_percentage = sum(percentages)
if total_percentage != 100:
raise ValueError("总百分比必须等于100")
weighted_projects = []
for i, project in enumerate(projects):
percentage = percentages[i]
weighted_projects.extend([project] * percentage)
selected_project = random.choice(weighted_projects)
return selected_project
# 示例项目和百分比
projects = ["项目A", "项目B", "项目C"]
percentages = [30, 50, 20]
# 选择项目
selected_project = select_project(projects, percentages)
print("选择的项目是:", selected_project)
在这个示例中,select_project
函数接受两个参数:项目列表和百分比列表。它首先检查百分比列表的总和是否等于100,如果不等于100,则抛出一个ValueError
异常。
然后,函数根据百分比将项目复制多次,并将它们放入一个新的列表weighted_projects
中。例如,如果项目A有30%的百分比,那么在weighted_projects
列表中,项目A会出现30次。
最后,函数使用random.choice
函数从weighted_projects
列表中随机选择一个项目,并将其作为结果返回。
在示例代码中,我们定义了一组示例项目和百分比,并调用select_project
函数来选择一个项目。最后,打印出选择的项目。请注意,由于使用了随机选择,每次运行代码时,选择的项目可能不同。
上一篇:按照百分比过滤行
下一篇:按照白天/夜晚分类图片