如有不足,還請大神指點~
需求:
1. 參與抽獎的員工名單從cvs文件導入
2. 一共5輪抽獎:幸運獎兩輪(15名*2),三等獎(6名),二等獎(3名),一等獎(1名)
3. 輸入“s”開始抽獎
4. 在上一輪被抽中者要被從下一輪的名單中剔除
補充需求:
1. 如有未出席者或其他原因需要補抽的情況下,可以隨時在當輪補抽
代碼:
# -*- coding: utf-8 -*-
'''
作者:Nicole
版本:2.0
日期:2019年1月25日
項目名稱:年會抽獎小程序
'''
import pandas as pd
import random
#導入員工列表
staff_list = pd.read_csv(r'/Users/nicole/Desktop/抽獎名單.csv')
list_round =list(staff_list['工號'])
prize_list = []
n_prize = [15,15,6,3,1]
name_prize = ['第一輪幸運獎','第二輪幸運獎','三等獎','二等獎','一等獎']
#剔除已經(jīng)中獎人員的函數(shù)
def new_list_generate(original_list,prize_list):
? ? new_list =[]
? ? for i in original_list:
? ? ? ? if i not in prize_list:
? ? ? ? ? ? new_list.append(i)
? ? return new_list
#抽獎函數(shù)
def lottary_start_main(list_round,prize_list):
? ? v =0
? ? while v <5:
? ? ? ? start = input('輸入"s"開始:')
? ? ? ? ? ? if start in ['s','S']:
? ? ? ? ? ? ? ? list_round = new_list_generate(list_round,prize_list)
? ? ? ? ? ? ? ? prize_list = random.sample(list_round,n_prize[v])
? ? ? ? ? ? ? ? print(name_prize[v],':',prize_list)? ? ? ? ? ?
? ? ? ? ? ? ? ? v = v+1
? ? ? ? ? ? else:
? ? ? ? ? ? ? ? print('輸入錯誤...')
if __name__ =='__main__':
? ? lottary_start_main(list_round,prize_list)
總結(jié):
1. 補充需求還沒做,等完善了再更新
2. 提高某些員工的中獎概率,下次寫
3. 簡書怎么貼代碼?