详解用python写一个抽奖程序

yipeiwu_com6年前Python基础

第一次使用python写程序,确实比C/C++之类方便许多。既然这个抽奖的数据不大,对效率要求并不高,所以采用python写,更加简洁、清晰、方便。

1.用到的模块

  1. 生成随机数的模块random
  2. 用来读取excel表格的模块xlrd

2.思路:首先打开excel表格,然后读取其中某个单元格或者某行或某列的元素,进行输出或存储。

3.如何保证随机:随机的关键在于取随机数。每抽一个人之前,我们随机生成一个随机数i,i代表了读取第i个人的数据,由于i的生成是完全随机的,所以也就保证了选取的人员是完全随机的。

4.代码实例:

import xlrd,random#导入读取excel的模块xlrd,取随机数的模块random
data = xlrd.open_workbook("01.xls")#xlrd模块中的函数
table = data.sheet_by_index(0)#同上
num = input("请输入抽奖人数:")
start = input("请输入起始位置:")
end = input("请输入结束位置:")
start = eval(start)#将字符串转换为整数
end = eval(end)
num = eval(num)
print("获奖名单为:")
for i in range(num):
  idx = random.randint(start,end+1)
  tmp = table.cell_value(idx,1)#将读取到的元素临时存储到tmp中
  print(tmp)#输出tmp中存储的值

以上所述是小编给大家介绍的用python写一个抽奖程序详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

Python中的CSV文件使用"with"语句的方式详解

是否可以直接使用with语句与CSV文件?能够做这样的事情似乎很自然: import csv with csv.reader(open("myfile.csv")) as reade...

python基于queue和threading实现多线程下载实例

本文实例讲述了python基于queue和threading实现多线程下载的方法,分享给大家供大家参考。具体方法如下: 主代码如下: #download worker qu...

Python干货:分享Python绘制六种可视化图表

Python干货:分享Python绘制六种可视化图表

可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的。对于初学者来说,很容易被这官网上众多的图表类型给吓着了,由于种类太多,几种图表的...

Python中的 sort 和 sorted的用法与区别

今天在做一道题时,因为忘了Python中sort和sorted的用法与区别导致程序一直报错,找了好久才知道是使用方法错误的问题!现在就大致的归纳一下sort和sorted的用法与区别...

Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式

Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式

CGAN的全拼是Conditional Generative Adversarial Networks,条件生成对抗网络,在初始GAN的基础上增加了图片的相应信息。 这里用传统的卷积方式...