python实战—核心基础4(超市购物小票随机抽奖程序) lv1

 目录

一、核心代码解释

二、代码

三、运行截图


一、核心代码解释

1、random() 函数

描述

random() 方法返回随机生成的一个实数,它在[0,1)范围内。

语法

以下是 random() 方法的语法:

import random

random.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                # 然后将表示有效结果的个数加1
        generateRand(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")

三、运行截图

python实战—核心基础4(超市购物小票随机抽奖程序) lv1_第1张图片

你可能感兴趣的:(python实战,python)