前言[Ado小白出品]
为实现个人发奖需求,紧急写的抽奖程序:共12题,每对三题概率翻倍,奖品有A,B两类,其中A类10种,B类3种,奖品需要满抽。
需要的库
这里主要用到两个库,random构成随机抽奖,pands读取Excel
import random
import pandas as pd
函数正文
总题目number 为12,r为加权函数,right为正确数。
加权规则为:每答对三题概论翻一倍
number = 12
def r(right):
if int(right) < 3: # 将字符串转换为整数
return 1
else:
return int(right) // 3
读取excel文件,假设文件名为data.xlsx,第一列为name,第二列为答对数
df = pd.read_csv('C://Desktop//roll.csv', header=None, names=['name', 'right'])
将DataFrame转换为字典,以name为键,答对数为值
participte = df.set_index('name')['right'].to_dict()
定义一个列表,存储每个人的name和r
poll = []
for name, right in participte.items():
# 根据r函数,将name重复添加到poll中
for i in range(r(right)):
poll.append(name)

本文介绍了一个由Ado小白编写的Python抽奖程序,使用random和pandas库。程序根据答对题数加权,奖品分为A类10种和B类3种,满抽规则。程序读取Excel数据,随机抽取获奖者并更新奖品库存。
最低0.47元/天 解锁文章
427





