博主:一只程序猿子
博客主页:一只程序猿子 博客主页
个人介绍:爱好(bushi)编程!
创作不易:如喜欢麻烦您点个或者点个⭐!
欢迎访问我的主页(点我直达)
除此之外您还可以通过个人名片联系我
如果您很喜欢我的文章且富有,我说:公主 or 王子 请打赏!!!
额滴名片儿 求打赏
目录
1.前言
2.相关库介绍
(1) Rondom库:
(2) Tkinter库:
3.源码
4.演示运行
6+1号码生成通过随机抽取6个红色数字和1个蓝色数字的方式产生号码。在本文中,我将介绍如何使用Python及相关库实现一个带有图形用户界面的6+1号码生成器。
Random库是Python的标准库,用于生成随机数。它主要基于梅森旋转算法生成伪随机数序列。random库主要用于生成随机数,其中包括一系列常用的随机数生成函数。例如,seed()函数用于初始化随机数生成器,random()函数用于生成[0.0, 1.0]之间的随机小数,getrandbits(k)函数用于生成k比特长的随机整数等。还有一些扩展的随机函数,如randint()、getrandbits()、uniform()、randrange()、choice()、shuffle()等。
Tkinter是Python的标准GUI库,它是Python接口的TK GUI工具包的标准Python接口,采用模块化设计。这个模块包含了许多GUI控件,例如:按钮、标签、文本框和滚动条等。Tkinter是跨平台的GUI库,适用于Windows、Mac OS X和Linux等操作系统,它还是Python中使用最广泛的GUI库。
此外,对于初学者来说,Tkinter是相当容易上手的。而且由于它作为Python自带库,无需额外下载就可以直接使用。
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()
运行程序:
点击生成号码:
同时控制台也有输出:
注意:本文章仅供学习交流!