商城系統(tǒng) 注冊(cè)

年會(huì)抽獎(jiǎng)小程序源碼分析

2018-02-05|HiShop
導(dǎo)讀:小程序開發(fā)大熱,今年許多公司都想到用小程序?qū)崿F(xiàn)抽獎(jiǎng),下面為大家介紹年會(huì)抽獎(jiǎng)小程序源碼分析。...

  年會(huì)抽獎(jiǎng)小程序,用面向?qū)ο髞韺?shí)現(xiàn),設(shè)計(jì)一個(gè)抽獎(jiǎng)?lì)悾愔邪粋€(gè)屬性(號(hào)碼來源),一個(gè)方法:產(chǎn)生所有抽獎(jiǎng)層次指定個(gè)數(shù)的抽獎(jiǎng)號(hào)碼。

  用到如下知識(shí)點(diǎn):

  1. csv模塊部分函數(shù)用法

  2. sys模塊讀取輸入

  3. random模塊函數(shù)choice函數(shù)用法

  4. 列表和字典元素的添加、刪除

  6. for循環(huán)中range用法

  7. 類和面向?qū)ο?/p>

  8. 字符打印,print中的計(jì)算

  9.open中with

  #!/usr/bin/python

  #coding=utf-8

  import csv

  import sys

  import random

  reload(sys)

  sys.setdefaultencoding('utf8')

  #coding=utf-8

  print("開始進(jìn)行抽獎(jiǎng)")

  #定義個(gè)抽獎(jiǎng)?lì)?,功能有輸入抽?jiǎng)級(jí)別和個(gè)數(shù),打印出每個(gè)級(jí)別的抽獎(jiǎng)員工號(hào)碼

  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 人參與抽獎(jiǎng)' % len(emplist))

  levels = int(input('抽獎(jiǎng)分幾個(gè)層次,請(qǐng)輸入:'))

  #定義一個(gè)字典

  level_dict = {}

  for i in range(0,levels):

  print('請(qǐng)輸入當(dāng)前獲獎(jiǎng)層次 %s 對(duì)應(yīng)的獎(jiǎng)品個(gè)數(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)完成后抽獎(jiǎng)層次字典構(gòu)造完畢

  #進(jìn)行抽獎(jiǎng)開始

  print('抽獎(jiǎng)字典設(shè)置為: %s' % level_dict)

  for i in range(0,len(level_dict)):

  winers = []

  #產(chǎn)生當(dāng)前抽獎(jiǎng)層次i對(duì)應(yīng)的抽獎(jiǎng)個(gè)數(shù)

  for j in range(0,int(level_dict[i])):

  #利用random模塊中的choice函數(shù)從列表中隨機(jī)產(chǎn)生一個(gè)

  winer = random.choice(emplist)

  winers.append(winer)

  emplist.remove(winer)

  print('抽獎(jiǎng)層次 %s 下產(chǎn)出的獲獎(jiǎng)人員有:' % (i + 1 ))

  print(winers)

  #類功能定義完畢,開始初始化并使用

  if __name__ == '__main__':

  peoples = Choujiang('c://emps.csv')

  peoples.creat_num()

  1234567891011121314151617181920212223242526272829303132333435363738394041424344454647

  該段程序在python 2.6 以上及 3中均可以運(yùn)行,運(yùn)行結(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 ================================

  >>>

  開始進(jìn)行抽獎(jiǎng)

  共有24790 人參與抽獎(jiǎng)

  抽獎(jiǎng)分幾個(gè)層次,請(qǐng)輸入:2

  請(qǐng)輸入當(dāng)前獲獎(jiǎng)層次 1 對(duì)應(yīng)的獎(jiǎng)品個(gè)數(shù)

  1

  請(qǐng)輸入當(dāng)前獲獎(jiǎng)層次 2 對(duì)應(yīng)的獎(jiǎng)品個(gè)數(shù)

  3

  抽獎(jiǎng)字典設(shè)置為: {0: 1, 1: 3}

  抽獎(jiǎng)層次 1 下產(chǎn)出的獲獎(jiǎng)人員有:

  [['張三19826']]

  抽獎(jiǎng)層次 2 下產(chǎn)出的獲獎(jiǎng)人員有:

  [['張三18670'], ['張三23235'], ['張三15705']]

  >>>

 

 HiShop小程序工具提供多類型商城/門店小程序制作,可視化編輯 1秒生成5步上線。通過拖拽、拼接模塊布局小程序商城頁面,所看即所得,只需要美工就能做出精美商城。

更多小程序資訊,盡在:zytcm.com.cn/xiaocx/

電話咨詢 預(yù)約演示 0元開店