公司设一、二、三等奖,每个奖项两人中奖,要求两人不能同一部门,且不能重复中奖。人员名单在“人员.xlsx”中,中奖结果输出到“中奖.txt”。
时间: 2024-05-10 10:19:47 浏览: 7
好的,我会帮您完成这个任务。以下是代码实现:
```python
import pandas as pd
import random
# 读取人员.xlsx中的人员名单
df = pd.read_excel('人员.xlsx')
# 定义函数,生成不同部门的两个随机中奖者
def generate_winner(lst):
random.shuffle(lst)
winner1 = lst.pop()
dept1 = winner1.split('-')[0]
lst2 = [x for x in lst if x.split('-')[0]!=dept1]
random.shuffle(lst2)
winner2 = lst2.pop()
return [winner1, winner2]
# 生成一、二、三等奖的获奖名单
first_prize = generate_winner(df['姓名'].tolist())
second_prize = generate_winner(df['姓名'].tolist())
third_prize = generate_winner(df['姓名'].tolist())
# 将获奖名单输出到中奖.txt中
with open('中奖.txt', 'w') as f:
f.write('一等奖获奖者:{},{}\n'.format(first_prize[0], first_prize[1]))
f.write('二等奖获奖者:{},{}\n'.format(second_prize[0], second_prize[1]))
f.write('三等奖获奖者:{},{}\n'.format(third_prize[0], third_prize[1]))
```
请将人员.xlsx文件放在与此Python文件同一目录下。执行以上代码后,中奖结果会输出到中奖.txt文件中。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)