python实现转盘效果 python实现轮盘抽奖游戏
作者:CAPF_CS 发布时间:2023-03-06 00:00:57
标签:python,转盘,抽奖
本文实例为大家分享了python实现转盘效果的具体代码,供大家参考,具体内容如下
#抽奖 面向对象版本
import tkinter
import time
import threading
class choujiang:
#初始化魔术方法
def __init__(self):
#准备好界面
self.root = tkinter.Tk()
self.root.title('lowB版转盘')
self.root.minsize(300, 300)
# 声明一个是否按下开始的变量
self.isloop = False
self.newloop = False
#调用设置界面的方法
self.setwindow()
self.root.mainloop()
#界面布局方法
def setwindow(self):
#开始停止按钮
self.btn_start = tkinter.Button(self.root, text = 'start/stop',command = self.newtask)
self.btn_start.place(x=90, y=125, width=50, height=50)
self.btn1 = tkinter.Button(self.root, text='赵', bg='red')
self.btn1.place(x=20, y=20, width=50, height=50)
self.btn2 = tkinter.Button(self.root, text='钱', bg='white')
self.btn2.place(x=90, y=20, width=50, height=50)
self.btn3 = tkinter.Button(self.root, text='孙', bg='white')
self.btn3.place(x=160, y=20, width=50, height=50)
self.btn4 = tkinter.Button(self.root, text='李', bg='white')
self.btn4.place(x=230, y=20, width=50, height=50)
self.btn5 = tkinter.Button(self.root, text='周', bg='white')
self.btn5.place(x=230, y=90, width=50, height=50)
self.btn6 = tkinter.Button(self.root, text='吴', bg='white')
self.btn6.place(x=230, y=160, width=50, height=50)
self.btn7 = tkinter.Button(self.root, text='郑', bg='white')
self.btn7.place(x=230, y=230, width=50, height=50)
self.btn8 = tkinter.Button(self.root, text='王', bg='white')
self.btn8.place(x=160, y=230, width=50, height=50)
self.btn9 = tkinter.Button(self.root, text='冯', bg='white')
self.btn9.place(x=90, y=230, width=50, height=50)
self.btn10 = tkinter.Button(self.root, text='陈', bg='white')
self.btn10.place(x=20, y=230, width=50, height=50)
self.btn11 = tkinter.Button(self.root, text='褚', bg='white')
self.btn11.place(x=20, y=160, width=50, height=50)
self.btn12 = tkinter.Button(self.root, text='卫', bg='white')
self.btn12.place(x=20, y=90, width=50, height=50)
# 将所有选项组成列表
self.girlfrends = [self.btn1,self.btn2,self.btn3,self.btn4,self.btn5,self.btn6,self.btn7,self.btn8,self.btn9,self.btn10,self.btn11,self.btn12]
def rounds(self):
# 判断是否开始循环
if self.isloop == True:
return
# 初始化计数 变量
i = 0
# 死循环
while True:
if self.newloop == True:
self.newloop = False
return
# 延时操作
time.sleep(0.1)
# 将所有的组件背景变为白色
for x in self.girlfrends:
x['bg'] = 'white'
# 将当前数值对应的组件变色
self.girlfrends[i]['bg'] = 'red'
# 变量+1
i += 1
# 如果i大于最大索引直接归零
if i >= len(self.girlfrends):
i = 0
# 建立一个新线程的函数
def newtask(self):
if self.isloop == False:
# 建立线程
t = threading.Thread(target = self.rounds)
# 开启线程运行
t.start()
# 设置循环开始标志
self.isloop = True
elif self.isloop == True:
self.isloop = False
self.newloop = True
c = choujiang()
小编再为大家分享一款python模拟轮盘抽奖的游戏
python3.x的版本测试中文的变量名
from random import random
#轮盘赌lpd,奖项分布jxfb,本次转盘读数bclpds,中奖情况zjqk,本次战况bczk,
def lpd(jxfb):
bclpds = random()
for k, v in jxfb.items():
if v[0]<=bclpds<v[1]:
return k
jxfb = {'一等奖':(0, 0.08),
'二等奖':(0.08, 0.3),
'三等奖':(0.3, 1.0)}
zjqk = dict()
#模拟玩10000次,统计中奖情况
for i in range(10000):
bczk = lpd(jxfb)
zjqk[bczk] = zjqk.get(bczk, 0) + 1
for item in zjqk.items():
print(item)
来源:https://blog.csdn.net/weixin_41202652/article/details/78988954


猜你喜欢
- 一、Python图像处理PIL库1.1 转换图像格式# PIL(Python Imaging Library)from PIL import
- 本文实例讲述了PHP接口多继承及tarits实现多继承效果的方法。分享给大家供大家参考,具体如下:接口多继承在PHP的面向对象中,接口可以继
- class MyClass(): # 直接将属性定义在类中,这种属性称为 类属性 # 类属性可以通过实列对象和类对象
- MyISAM和InnoDB对比MyISAMInnoDB主外键不支持支持事务不支持支持行表锁表锁,操作时即使操作一条记录也会锁住一整张表,不适
- 如何准确地获得一个整数?当然可以,Format就是做这个的“专家”:function NumbersOnlyNoDecimals(
- 效果可执行正常加减乘除相关运算,源码已贴,自行测试。源码# coding=gbk"""作者:川川@时间 &nb
- 来介绍一下 Python 是采用何种途径解决循环引用问题的。上图中,表示的是对象之间的引用关系,从自对象指向他对象的引用用黑色箭头表示。每个
- 最近没事,写了个在项目经常要取城市或省份名的方法,所以改成了一个类.方便以后调用//****************************
- Spring @Enable 模块概览框架实现@Enable注解模块激活模块Spring Framework@EnableWebMvcWeb
- 信号(signals)Flask信号(signals, or event hooking)允许特定的发送端通知订阅者发生了什么(既然知道发生
- 1.默认已经有python环境和vscode2.pip安装PyQt5执行命令:pip install PyQt5pip install Py
- 本文译文,采用意译。下面这些方法对于我来说很有作用,自从我发现了这些操作。1. 数组求和假设你有下面的数字数组:let numbers =
- vsCode是什么Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几
- 这篇文章主要介绍了Python namedtuple命名元组实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MYSQL连接数的方法有两
- 本文实例为大家分享了python实现猜数游戏的具体代码,供大家参考,具体内容如下内容如下:①游戏可以重复进行,每当一个用户结束后,程序会提示
- 一.概念简介 脚本:script是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。 二.背景 近来在Wind
- 本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。注意:本文基于
- 在平时,常常会提醒自己要做一个善于发现的人,时刻发现细节,这样才会更加懂得生活、会让生活更加精彩。在学习上也是如此,我们常常会发现有很多网站
- 1,filesize()函数返回错误的值。 使用curl将某个页面下载到本地时,需要将下载到的临时文件tmpHtml.txt的内容读取到一个