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

news/2024/11/30 20:34:42/

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

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

考虑号码顺序

#考虑号码顺序from random import randintdef win(possibilities):"""定义中奖号码"""winning_ticket = []while len(winning_ticket) < 4:one = choice(possibilities)if one not in winning_ticket:winning_ticket.append(one)return winning_ticketdef choose(possibilities):"""定义彩票号码"""choose_ticket = []while len(choose_ticket) < 4:one = choice(possibilities)if one not in choose_ticket:choose_ticket.append(one)return choose_ticketdef identify(winning_ticket, choose_ticket, order = False):"""识别彩票是否中奖,order参数默认不考虑号码顺序"""if order == False: for i in choose_ticket:if i not in winning_ticket:return Falsereturn Trueelif order == True:if choose_ticket == winning_ticket:won = Trueelse:won = Falsereturn wonpossibilities = [1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f']
winning_ticket = win(possibilities)max_times = 10_000
flag = True
times = 0while flag:times += 1choose_ticket = choose(possibilities)won = identify(winning_ticket, choose_ticket, order = True)if times > max_times:print('很遗憾,你的次数已用完了仍然没有中奖!')breakelse:if won:print(f'恭喜你中奖了!中奖号码为{winning_ticket},你的号码为{choose_ticket},你一共抽了{times}次!')flag = False

输出结果:

恭喜你中奖了!中奖号码为[2, ‘a’, 6, ‘e’],你的号码为[2, ‘a’, 6, ‘e’],你一共抽了8645次!

不考虑号码顺序

#不考虑号码顺序from random import randintdef win(possibilities):"""定义中奖号码"""winning_ticket = []while len(winning_ticket) < 4:one = choice(possibilities)if one not in winning_ticket:winning_ticket.append(one)return winning_ticketdef choose(possibilities):"""定义彩票号码"""choose_ticket = []while len(choose_ticket) < 4:one = choice(possibilities)if one not in choose_ticket:choose_ticket.append(one)return choose_ticketdef identify(winning_ticket, choose_ticket, order = False):"""识别彩票是否中奖,order参数默认不考虑号码顺序"""if order == False: for i in choose_ticket:if i not in winning_ticket:return Falsereturn Trueelif order == True:if choose_ticket == winning_ticket:won = Trueelse:won = Falsereturn wonpossibilities = [1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f']
winning_ticket = win(possibilities)max_times = 10_000
flag = True
times = 0while flag:times += 1choose_ticket = choose(possibilities)won = identify(winning_ticket, choose_ticket, order = False)if times > max_times:print('很遗憾,你的次数已用完了仍然没有中奖!')breakelse:if won:print(f'恭喜你中奖了!中奖号码为{winning_ticket},你的号码为{choose_ticket},你一共抽了{times}次!')flag = False

输出结果:

恭喜你中奖了!中奖号码为[7, 1, ‘d’, 3],你的号码为[‘d’, 3, 7, 1],你一共抽了1054次!


http://www.ppmy.cn/news/183405.html

相关文章

java实现双色球彩票中奖游戏

目录 前言 一、游戏规则 二、代码实现 编程思想 代码展示 三、结果展示 前言 根据游戏规则&#xff0c;设计一个双色球号码竞猜游戏&#xff0c;根据规则&#xff0c;获得不同的奖项和奖金。 一、游戏规则 二、代码实现 编程思想 设置两个数组&#xff0c;分别记录输入的双色…

利用一维数组编写双色球中奖程序(只判断单式彩票)

一、程序规则要求 1、双色球”彩票投注区分为红色球号码区和蓝色球号码区&#xff1b; 2、“双色球”每注投注号码由6个红色球号码和1个蓝色球号码组成&#xff1b; 3、红色球号码从1--33中选择&#xff1b;蓝色球号码从1--16中选择&#xff1b; 4、红色号码不能重复出现。 5、…

用Python预测双色球福利彩票中奖号码(请不要当真)

前言 双色球是中国福利彩票的一种玩法。 红球一共6组&#xff0c;每组从1-33中抽取一个&#xff0c;六个互相不重复。然后蓝球是从1-16中抽取一个数字&#xff0c;这整个组成的双色球 python从零基础入门到实战 今天&#xff0c;我们就用Python来统计一下各号码的中奖概率&…

昨天是他中奖了

昨天上班 我发现客户公司的人都没上班 我才知道是西方的圣诞节 他们放假了 我们“外包打杂人员”...... 你懂的 所以到点 我们大家都下班了 对&#xff0c;到点就走&#xff01; &#xff08;ps&#xff1a;一般是不会这样&#xff09; 回来的路上看见超市做活动 关注公众号抽奖…

为什么说买彩票是交智商税?

很多人都有一夜暴富的幻想&#xff0c;梦想着好运来临&#xff0c;从此咸鱼翻身&#xff0c;这种心态可以理解&#xff0c;现在经济不景气&#xff0c;工作又辛苦&#xff0c;钱越来越难赚&#xff0c;想来想去能够实现财富自由最轻松的方式就是买彩票了。 我以前也经常买彩票…

java课程设计-彩票购买抽奖程序

一、项目简介 功能描述&#xff1a; 模拟福利彩票36选7&#xff0c;实现彩票的抽奖与中奖通知功能。 1.允许注册用户&#xff0c;用户信息包括用户id,用户名&#xff0c;密码&#xff0c;账户金额&#xff0c;电话号码等属性。 2.允许注册用户购买彩票&#xff1a;手动选号、随…

彩票游戏题目练习

假设你想开发一个玩彩票的游戏&#xff0c;程序随机地产生一个两位数的彩票&#xff0c;提示用户输入一个两位数&#xff0c;然后按照下面的规则判定用户是否能赢。 1)如果用户输入的数匹配彩票的实际顺序&#xff0c;奖金10 000美元。 2)如果用户输入的所有数字匹配彩票的所有…

七乐彩中奖彩票分析

# 七乐彩投注号码范围为01&#xff5e;30&#xff0c; # 七乐彩每期从30个号码中开出7个基本号码和1个特别号码作为中奖号码&#xff0c; # 七乐彩玩法即是竞猜开奖号码中的7个基本号码和1个特别号码&#xff0c;顺序不限 import random # 生成机选的号码 def makeRandomNum():…