Python小练习之彩票分析——简单模拟彩票中奖的次数

本文通过Python编程模拟彩票中奖情况,分别考虑号码顺序和不考虑顺序两种情形,探讨中奖难度。在设定的最大抽奖次数内,记录中奖所需的循环次数,结果显示顺序考虑时中奖平均需8645次,不考虑顺序则减少至1054次。
摘要由CSDN通过智能技术生成

通过调用random模块、定义函数、使用循环来简单模拟彩票大奖有多难中奖!这里我根据是否需要考虑号码顺序分成了两种情况。在不超过规定的最大抽奖次数的情况下,打印出循环了多少次才中奖或者一直没有中奖。

大致分为4个步骤:
1.定义中奖号码(假设是4位数)
2.定义彩票号码
3.识别是否中奖
4.导入数据,进行判断并输出结果(可以设置最大抽奖次数)

考虑号码顺序

#考虑号码顺序

from random import randint

def win(possibilities):
    """定义中奖号码"""
    winning_ticket = []
    
    while len(winning_ticket) < 4:
        one = choice(possibilities)
        if one not in winning_ticket:
            winning_ticket.append(one)
    return winning_ticket
     
    
def choose(possibilities):
    """定义彩票号码"""
    choose_ticket = []
    
    while len(choose_ticket) < 4:
        one = choice(possibilities)
        if one not in choose_ticket:
            choose_ticket.append(one)
    return choose_ticket


def identify(winning_ticket, choose_ticket, order = False):
    
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值