目录
一、核心代码解释
二、代码
三、运行截图
一、核心代码解释
1、random() 函数
描述
random() 方法返回随机生成的一个实数,它在[0,1)范围内。
语法
以下是 random() 方法的语法:
import randomrandom.random()
注意:random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
实例
以下展示了使用 random() 方法的实例:
import random# 生成第一个随机数
print "random() : ", random.random()# 生成第二个随机数
print "random() : ", random.random()
当您运行程序时,输出将类似于:
random() : 0.281954791393
random() : 0.309090465205
更多使用方法:
# 随机整数:
print random.randint(1,50)# 随机选取0到100间的偶数:
print random.randrange(0, 101, 2)# 随机浮点数:
print random.random()
print random.uniform(1, 10) #区间可以不是整数# 生成从1到100的间隔为2的随机整数
print( random.randrange(1,100,2) ) # 随机字符:
print random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')# 多个字符中生成指定数量的随机字符:
print random.sample('zyxwvutsrqponmlkjihgfedcba',5)# 从a-zA-Z0-9生成指定数量的随机字符:
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print ran_str# 多个字符中选取指定数量的字符组成新字符串:
print ''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], 5))# 随机选取字符串:
print random.choice(['剪刀', '石头', '布'])# 打乱排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print random.shuffle(items)
2、List append()方法
描述
random() 方法返回随机生成的一个实数,它在[0,1)范围内。
语法
append()方法语法:
list.append(obj)
参数
obj -- 添加到列表末尾的对象。
返回值
该方法无返回值,但是会修改原来的列表。
实例
以下实例展示了 append()函数的使用方法:
aList = [123, 'xyz', 'zara', 'abc'];
aList.append( 2009 );
print "Updated List : ", aList;
当您运行程序时,输出将类似于:
Updated List : [123, 'xyz', 'zara', 'abc', 2009]
二、代码
#抽奖号码满12抽5个
import random
num = [] # 用于存放抽奖码
# 将抽奖码添加到num中
for i in range(12): #需要一次最大放多少个号码就填多少prizenum = input("请输入第" + str(i + 1) + "个抽奖码:")num.append(prizenum)
resultList = [] # 用于存放随机数结果
# 生成随机数的递归数学,参数counter表示当前准备要生成的第几个有效随机数
def generateRand(counter):tempInt = random.randint(0, 11) # 生成一个范围内的临时随机数,随着号码修改if(counter <= 5): # 先看随机数的总个数是不是够了,如果不够if(tempInt not in resultList): # 再检查当前已经生成的临时随机数是不是已经存在resultList.append(tempInt) # 如果不存在,则将其追加到结果resultList中counter += 1 # 然后将表示有效结果的个数加1generateRand(counter) # 不管上面的if是否成立,都要递归。
generateRand(1) # 调用递归函数,并给当前要生成的有效随机数的个序号置为1
prize = [] # 用于存放中奖号码
# 将中奖号码添加到结果prize中
for j in range(5):prize.append(num[resultList[j]])
print("\n中奖号码:") # 输出中奖结果
for k in range(5):print(prize[k], end="\t")