pythonによる年次総会抽選プログラムの作成

1848 ワード

今日、会社の年次総会の抽選に突っ込む人がいるのを見て、当選したのはすべてプログラマーで、一時的に自分で抽選の小さなプログラムを書くことを興して、もし不足があれば、また大神に教えてもらいます~
【需要】
  • 抽選に参加した従業員リストcvsファイルから
  • をインポート
  • 全部で5ラウンド抽選:ラッキー賞2ラウンド(15名*2)、三等賞(6名)、二等賞(3名)、一等賞(1名)
  • 入力「s」抽選開始
  • 前のラウンドで抽選された者は、次のラウンドのリストから
  • を削除される.
    【コード】
    # -*- coding: utf-8 -*-
    
    '''
          :Nicole
          :2.0
          :2019 1 25 
            :       
    '''
    
    import pandas as pd
    import random
    
    #      
    staff_list = pd.read_csv(r'/Users/nicole/PycharmProjects/projects/    .csv')
    round_list = list(staff_list['  '])
    prize_list = []
    n_prize = [15,15,6,3,1]
    prize_name = ['      ','      ','   ','   ','   ']
    
    #        
    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
    
    #    
    def draw_pize(round_list,prize_list):
        v = 0
        while v < 5:
            start = input('  "s"  :')
            if start in ['s','S']:
                round_list = new_list_generate(round_list,prize_list)
                prize_list = random.sample(round_list,n_prize[v])
                print('{}:'.format(prize_name[v]),prize_list)
                v += 1
            else:
                print('    ...')
                continue
    
    
    if __name__ == '__main__':
        draw_pize(round_list,prize_list)
    

    【運転結果】
      "s"  :s
          : [132, 23, 29, 109, 10, 62, 127, 30, 122, 21, 55, 49, 137, 35, 56]
      "s"  :k
        ...
      "s"  :S
          : [126, 102, 13, 136, 6, 66, 111, 140, 24, 47, 99, 104, 146, 118, 65]
      "s"  :s
       : [121, 130, 144, 73, 40, 78]
      "s"  :s
       : [135, 54, 61]
      "s"  :s
       : [117]
    

    【まとめ】
  • 一部の従業員の当選確率を高め、次回は
  • と書きます.