基于Python的6+1号码生成器

news2024/9/30 11:26:04

🎈 博主:一只程序猿子

🎈 博客主页:一只程序猿子 博客主页

🎈 个人介绍:爱好(bushi)编程!

🎈 创作不易:如喜欢麻烦您点个👍或者点个⭐

🎈 欢迎访问我的主页(点我直达)

🎈 除此之外您还可以通过个人名片联系我 

                              

如果您很喜欢我的文章且富有,我说:公主 or 王子 请打赏!!!

额滴名片儿
求打赏🥺

目录

1.前言

2.相关库介绍

(1)  Rondom库:

 (2) Tkinter库:

3.源码

4.演示运行


1.前言

        6+1号码生成通过随机抽取6个红色数字和1个蓝色数字的方式产生号码。在本文中,我将介绍如何使用Python及相关库实现一个带有图形用户界面的6+1号码生成器。


2.相关库介绍

(1)  Rondom库:

        Random库是Python的标准库,用于生成随机数。它主要基于梅森旋转算法生成伪随机数序列。random库主要用于生成随机数,其中包括一系列常用的随机数生成函数。例如,seed()函数用于初始化随机数生成器,random()函数用于生成[0.0, 1.0]之间的随机小数,getrandbits(k)函数用于生成k比特长的随机整数等。还有一些扩展的随机函数,如randint()、getrandbits()、uniform()、randrange()、choice()、shuffle()等。

 (2) Tkinter库:

        Tkinter是Python的标准GUI库,它是Python接口的TK GUI工具包的标准Python接口,采用模块化设计。这个模块包含了许多GUI控件,例如:按钮、标签、文本框和滚动条等。Tkinter是跨平台的GUI库,适用于Windows、Mac OS X和Linux等操作系统,它还是Python中使用最广泛的GUI库。

此外,对于初学者来说,Tkinter是相当容易上手的。而且由于它作为Python自带库,无需额外下载就可以直接使用。


3.源码

import random
import tkinter as tk

def lotteryNumber():

	# 红球
	red_ball = []       # 定义一个list用来存储红色球号码
	blue_ball = []      # 定义一个list用来存储蓝色球号码

	# 循环生成红色球号码,循环结束前生成蓝色球号码
	for i in range(6):
		# 把生成的红色球号码添加进list
		red_ball.append(random.randint(1,33))
		if i == 5:
			# 把生成的蓝色球号码添加进list
			blue_ball.append(random.randint(1,16))

	print(f"红色球: {red_ball}")
	print(f"蓝色球: {blue_ball}")

	red_result_label.config(text=f"红色球: {red_ball}")
	blue_result_label.config(text=f"蓝色球: {blue_ball}")


if __name__ == '__main__':
	# 创建一个Tkinter窗口,这是所有GUI应用程序的根元素
	root = tk.Tk()

	# 设置窗口大小
	width = 400
	height = 200

	# 获取屏幕宽度和高度
	screen_width = root.winfo_screenwidth()
	screen_height = root.winfo_screenheight()

	# 计算窗口的初始位置,使其在屏幕居中显示
	x_position = int((screen_width - width) / 2)
	y_position = int((screen_height - height) / 2)

	# 设置窗口的初始位置和大小
	root.geometry(f"{width}x{height}+{x_position}+{y_position}")

	# 设置窗口的标题,这将显示在窗口的左上角
	root.title("6+1号码生成器")

	# 创建一个字体样式对象,这里设置了一种12磅的粗体字体
	font_style = ("TkDefaultFont", 12, "bold")

	# 创建一个框架,框架是用来组织和布局小部件(如按钮、标签等)的容器
	frame1 = tk.Frame(root)
	# 将框架添加到主窗口中
	frame1.pack()

	generation_button = tk.Button(root, text="生成号码", command=lotteryNumber)
	# 通过config方法设置按钮的样式,"height"和"width"参数用于设置按钮的高度和宽度,"bg"和"fg"参数用于设置按钮的背景色和前景色(文字颜色)
	generation_button.config(font=font_style, height=2, width=18, bg="#1E90FF", fg='white')
	# 将按钮添加到主窗口中,"pady"参数用于设置垂直填充(间距)
	generation_button.pack(pady=10)

	frame2 = tk.Frame(root)
	frame2.pack()

	red_result_label = tk.Label(frame2, text="红色球号码")
	red_result_label.config(font=font_style, relief=tk.GROOVE, height=3, width=38, anchor='w', fg='red')
	red_result_label.pack()

	blue_result_label = tk.Label(frame2, text="蓝色球号码")
	blue_result_label.config(font=font_style, relief=tk.GROOVE, height=3, width=38, anchor='w', fg='blue')
	blue_result_label.pack()

	# 运行主窗口
	root.mainloop()

4.演示运行

        运行程序:

 

         点击生成号码:

        同时控制台也有输出:


注意:本文章仅供学习交流! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1283432.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构——二叉树(相关术语、性质、遍历过程)

遍历操作 二叉树的层次遍历-CSDN博客 二叉树的基本操作-CSDN博客 二叉树的先序遍历非递归实现-CSDN博客 后序遍历的非递归方式实现-CSDN博客 二叉树:已知先序中序求后序或者其他(秒解)-CSDN博客 因为之前发过一遍,我就不复制…

11. 哈希冲突

上一节提到,通常情况下哈希函数的输入空间远大于输出空间,因此理论上哈希冲突是不可避免的。比如,输入空间为全体整数,输出空间为数组容量大小,则必然有多个整数映射至同一桶索引。 哈希冲突会导致查询结果错误&#…

干货分享:盘点8款优秀的自动化测试工具

如今,作为一名软件测试工程师,几乎所有人都需要具备自动化测试相关的知识,并且懂得如何去利用工具,来为企业减少时间成本和错误成本。这是为什么呢? 在以前,测试人员一般都只需要扮演终端用户,…

【开发问题解决方法记录】03.dian

登录提示 ERR-1002 在应用程序 "304" 中未找到项 "ROLE_ID" 的项 ID。 一开始找错方向了,以为是代码错误,但是后来在蒋老师的提醒下在共享组件-应用程序项 中发现设的项不是ROLE_ID而是ROLEID,怪不得找不到ORZ 解决方法…

Linux下快速创建大文件的4种方法

1、使用 dd 命令创建大文件 dd 命令用于复制和转换文件,它最常见的用途是创建实时 Linux USB。dd 命令是实际写入硬盘,文件产生的速度取决于硬盘的读写速度,根据文件的大小,该命令将需要一些时间才能完成。 假设我们要创建一个名…

安卓apk抓包(apk抓不到包怎么办)

起因 手机(模拟器)有时候抓不到apk的包,需要借助Postern设置一个代理,把模拟器的流量代理到物理机的burp上。 解决方案 使用Postern代理,把apk的流量代理到burp。 Postern是一个用于代理和网络流量路由的工具&#xf…

设计模式---第五篇

系列文章目录 文章目录 系列文章目录前言一、知道观察者模式吗?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、知道观察者模式吗? 答:观察者模式是定义对…

基于单片机设计的智能水泵控制器

一、前言 在一些场景中,如水池、水箱等水体容器的管理中,保持水位的稳定是至关重要的。传统上,人们通常需要手动监测水位并进行水泵的启停控制,这种方式不仅效率低下,还可能导致水位过高或过低,从而对水体…

执行栈和执行上下文

前端面试大全JavaScript执行栈和执行上下文 🌟经典真题 🌟执行上下文 🌟栈数据结构 🌟执行上下文生命周期 🌟真题解答 🌟总结 🌟经典真题 谈谈你对 JavaScript 执行上下文栈理解 &#…

全网最新最全的自动化测试教程:python+pytest接口自动化-requests发送post请求

简介 在HTTP协议中,与get请求把请求参数直接放在url中不同,post请求的请求数据需通过消息主体(request body)中传递。 且协议中并没有规定post请求的请求数据必须使用什么样的编码方式,所以其请求数据可以有不同的编码方式,服务…

全网最新最全的自动化测试教程:python+pytest接口自动化-请求参数格式的确定

我们在做接口测试之前,先需要根据接口文档或抓包接口数据,搞清楚被测接口的详细内容,其中就包含请求参数的编码格式,从而使用对应的参数格式发送请求。例如某个接口规定的请求主体的编码方式为 application/json,那么在…

设计模式基础(1)

目录 一、设计模式的定义 二、设计模式的三大类别 三、设计模式的原则 四、主要设计模式目录 4.1 创建型模式(Creational Patterns) 4.2 结构型模式(Structural Patterns) 4.3 行为型模式(Behavioral Patterns&…

GeoServer本地部署与远程访问Web管理页面——“cpolar内网穿透”

文章目录 前言1.安装GeoServer2. windows 安装 cpolar3. 创建公网访问地址4. 公网访问Geo Servcer服务5. 固定公网HTTP地址 前言 GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,允许用户对要素数据进行更新、删除、插入…

GNU环境下伪操作伪指令的测试

目录 1.伪操作ldr转为指令的验证 测试目标: 测试代码: 测试结果: 结果分析: 2、伪操作ALIGN使用的例子 测试目标: 测试代码: 测试结果: (1)未使用align伪操作: (2)使用了align伪操作…

BearPi Std 板从入门到放弃 - 后天篇(1)(I2C1 读取 光照强度)

简介 基于 BearPi Std 板从入门到放弃 - 引气入体篇(5)(printf打印到串口), 通过I2C接口,读取光照强度并打印到串口; 开发板 : Bearpi Std(小熊派标准板) 主芯片: STM32L431RCT6 LED : PC13 \ 推挽输出即可 \ 高电平点亮 串口: U…

chrome overrides 怎么用?

在network里找到你想替换的文件 右键选择override content 他会提示你选择文件夹 你选择本地的一个 紧接着他会提示你 点允许 再去你创建的那个目录里查看 会发现 他自动帮你创建了目录 他会把线上的被替换目标文件放在里面 你直接修改他就可以了

【面试经典150 | 二叉树】二叉树的最大深度

文章目录 写在前面Tag题目来源解题思路方法一:递归方法二:迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的…

ssm社区医院儿童预防接种管理系统源码

ssm社区医院儿童预防接种管理系统源码709 开发技术:后端 ssm 后台管理 vue 用户端 vue.jshtml 一、课题研究目的和意义 为了方便家长用户更全面的掌握孩子的疫苗接种情况,系统提供便利的疫苗接种服务,同时也旨在推广疫苗接种知识&#xff…

数据库更换版本

目录 0.前言 1.官网下载MySQL 2.配置初始化文件my.ini 3.初始化MySQL 4.安装mysql服务并启动修改密码 5.配置环境变量​编辑 0.前言 心累,为了完成实验,必须使用8.0版本导致我更新版本的时候,把sqlyog干崩溃了,什么版本不兼…

全球与中国仿制药市场:增长趋势、竞争格局与前景展望

仿制药是指在剂型、功效、给药方法、品质、性能特征、用途等方面与原厂药相似并已获得原厂药上市许可的药品。仿制药的价格低于品牌药。糖尿病、癌症和心血管疾病等慢性疾病的快速成长推动了仿制药市场的成长。此外,仿制药的实惠价格以及最新产品的批准和推出也有助…