Python实战——购物小票随机抽奖程序

要解决的问题

从输入的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")

运行结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值