最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)年會抽獎程序

 更新時間:2019年01月22日 15:26:17   作者:x6_9x  
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)年會抽獎程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下

用python來實現(xiàn)一個抽獎程序,供大家參考,具體內(nèi)容如下

主要功能有

1.從一個csv文件中讀入所有員工工號
2.將這些工號初始到一個列表中
3.用random模塊下的choice函數(shù)來隨機選擇列表中的一個工號
4.抽到的獎項的工號要從列表中進行刪除,以免再次抽到

初級版

這個比較簡單,缺少定制性,如沒法設(shè)置一等獎有幾名,二等獎有幾名

import csv
#創(chuàng)建一個員工列表
emplist = []
#用with自動關(guān)閉文件
with open('c://emps.csv') as f:
 empf = csv.reader(f)
 for emp in empf:
  emplist.append(emp)
print("進行一等獎抽獎,共有一名")
import random
#利用random模塊的chice函數(shù)來從列表中隨機選取一個元素
e1 = random.choice(emplist)
#將中獎的員工從列表中剔除
emplist.remove(e1)
print('一等獎得主的號碼是 %s' % e1)
print('進行三個二等獎的號碼抽獎')
e2_1 = random.choice(emplist)
emplist.remove(e2_1)
e2_2 = random.choice(emplist)
emplist.remove(e2_2)
e2_3 = random.choice(emplist)
emplist.remove(e2_3)
print('獲得3個二等獎是 %s %s %s',(e2_1,e2_2,e2_3))
#下面依次類推可以設(shè)置三等獎的抽獎

改進版

上面的那個初級版,假如要設(shè)置個三等獎一百名那么將要重新維護幾百行代碼,下面用比較高級點的辦法實現(xiàn).

我們考慮用面向?qū)ο髞韺崿F(xiàn),設(shè)計一個抽獎類,類中包含一個屬性(號碼來源),一個方法:產(chǎn)生所有抽獎層次指定個數(shù)的抽獎號碼。

用到如下知識點:

1. csv模塊部分函數(shù)用法
2. sys模塊讀取輸入
3. random模塊函數(shù)choice函數(shù)用法
4. 列表和字典元素的添加、刪除
6. for循環(huán)中range用法
7. 類和面向?qū)ο?
8. 字符打印,print中的計算
9.open中with

#!/usr/bin/python
#coding=utf-8
import csv
import sys
import random
reload(sys) 
sys.setdefaultencoding('utf8')
#coding=utf-8
print("開始進行抽獎")
#定義個抽獎類,功能有輸入抽獎級別和個數(shù),打印出每個級別的抽獎員工號碼
class Choujiang:
 #定義scv文件路徑
 def __init__(self,filepath):
  self.empfile = filepath
 def creat_num(self):
  emplist = []
  with open(self.empfile) as f:
   empf = csv.reader(f)
   for emp in empf:
    emplist.append(emp)
  print('共有%s 人參與抽獎' % len(emplist))
  levels = int(input('抽獎分幾個層次,請輸入:'))
  #定義一個字典
  level_dict = {}
  for i in range(0,levels):
   print('請輸入當(dāng)前獲獎層次 %s 對應(yīng)的獎品個數(shù)' % ( i + 1))
   str_level_dict_key = sys.stdin.readline()
   int_level_dict_key = int(str_level_dict_key)
   level_dict[i] = int_level_dict_key
   #循環(huán)完成后抽獎層次字典構(gòu)造完畢
  #進行抽獎開始
  print('抽獎字典設(shè)置為: %s' % level_dict)
  for i in range(0,len(level_dict)):
   winers = []
   #產(chǎn)生當(dāng)前抽獎層次i對應(yīng)的抽獎個數(shù)
   for j in range(0,int(level_dict[i])):
    #利用random模塊中的choice函數(shù)從列表中隨機產(chǎn)生一個
    winer = random.choice(emplist)
    winers.append(winer)
    emplist.remove(winer)
   print('抽獎層次 %s 下產(chǎn)出的獲獎人員有:' % (i + 1 ))
   print(winers)
#類功能定義完畢,開始初始化并使用
if __name__ == '__main__':
 peoples = Choujiang('c://emps.csv')
 peoples.creat_num()

該段程序在python 2.6 以上及 3中均可以運行,運行結(jié)果如下圖:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
開始進行抽獎
共有24790 人參與抽獎
抽獎分幾個層次,請輸入:2
請輸入當(dāng)前獲獎層次 1 對應(yīng)的獎品個數(shù)
1
請輸入當(dāng)前獲獎層次 2 對應(yīng)的獎品個數(shù)
3
抽獎字典設(shè)置為: {0: 1, 1: 3}
抽獎層次 1 下產(chǎn)出的獲獎人員有:
[['張三19826']]
抽獎層次 2 下產(chǎn)出的獲獎人員有:
[['張三18670'], ['張三23235'], ['張三15705']]
>>> 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pypy提升python項目性能使用詳解

    pypy提升python項目性能使用詳解

    這篇文章主要為大家介紹了pypy提升python項目性能使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • python用戶自定義異常的實例講解

    python用戶自定義異常的實例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于python用戶自定義異常的實例講解,以后需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-07-07
  • 詳解Python爬蟲的基本寫法

    詳解Python爬蟲的基本寫法

    這篇文章主要介紹了詳解Python爬蟲的基本寫法 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • python getopt詳解及簡單實例

    python getopt詳解及簡單實例

    這篇文章主要介紹了 python getopt詳解及簡單實例的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Python生成指定大小的文件兩種解決方案

    Python生成指定大小的文件兩種解決方案

    這篇文章主要介紹了Python生成指定大小的文件,這里提供兩種解決方案幫助python完成我們生成任意大小的文件,需要的朋友可以參考下
    2023-06-06
  • Opencv+Python 色彩通道拆分及合并的示例

    Opencv+Python 色彩通道拆分及合并的示例

    今天小編就為大家分享一篇Opencv+Python 色彩通道拆分及合并的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • django之跨表查詢及添加記錄的示例代碼

    django之跨表查詢及添加記錄的示例代碼

    表查詢是重要的操作。這篇文章主要介紹了django之跨表查詢及添加記錄的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • Python?Numpy庫的超詳細(xì)教程

    Python?Numpy庫的超詳細(xì)教程

    Numpy庫是Python中的一個科學(xué)計算庫,本文主要介紹了ndarray的基本操作、?ndarray運算等各種Numpy庫的超詳細(xì)教程,需要的朋友可以參考下
    2022-04-04
  • Django點贊的實現(xiàn)示例

    Django點贊的實現(xiàn)示例

    本文主要介紹了Django點贊的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 基于pytorch的RNN實現(xiàn)字符級姓氏文本分類的示例代碼

    基于pytorch的RNN實現(xiàn)字符級姓氏文本分類的示例代碼

    當(dāng)使用基于PyTorch的RNN實現(xiàn)字符級姓氏文本分類時,我們可以使用一個非常簡單的RNN模型來處理輸入的字符序列,并將其應(yīng)用于姓氏分類任務(wù),本文給大家舉了一個基本的示例代碼,需要的朋友可以參考下
    2023-12-12

最新評論

邵阳市| 新龙县| 射洪县| 富蕴县| 乌鲁木齐县| 衡水市| 明溪县| 雅安市| 连州市| 随州市| 安多县| 锡林浩特市| 公安县| 离岛区| 湘潭县| 三河市| 宁海县| 永州市| 苍梧县| 眉山市| 景宁| 北票市| 霍山县| 大石桥市| 伊金霍洛旗| 舒城县| 恭城| 扎囊县| 宜城市| 长子县| 育儿| 封丘县| 革吉县| 勐海县| 鸡东县| 秦皇岛市| 都江堰市| 福鼎市| 平安县| 富裕县| 永吉县|