python实现转盘效果 python实现轮盘抽奖游戏


Posted in Python onJanuary 22, 2019

本文实例为大家分享了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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中kmeans聚类实现代码
Feb 23 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
Python编程深度学习绘图库之matplotlib
Dec 28 Python
使用python将请求的requests headers参数格式化方法
Jan 02 Python
python3.4+pycharm 环境安装及使用方法
Jun 13 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
如何使用repr调试python程序
Feb 28 Python
Python中如何添加自定义模块
Jun 09 Python
python 下载文件的几种方法汇总
Jan 06 Python
python实现简单的学生管理系统
Feb 22 Python
TensorFlow的自动求导原理分析
May 26 Python
Python Pillow Image Invert
Jan 22 #Python
python 通过类中一个方法获取另一个方法变量的实例
Jan 22 #Python
对Python 获取类的成员变量及临时变量的方法详解
Jan 22 #Python
Python实现深度遍历和广度遍历的方法
Jan 22 #Python
Python遍历文件夹 处理json文件的方法
Jan 22 #Python
Python多线程原理与用法实例剖析
Jan 22 #Python
python解析含有重复key的json方法
Jan 22 #Python
You might like
PHP 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
一个PHP数组应该有多大的分析
2009/07/30 PHP
php Static关键字实用方法
2010/06/04 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
php中{}大括号是什么意思
2013/12/01 PHP
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
jquery中动态效果小结
2010/12/16 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
2015/10/08 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
python正则实现计算器功能
2017/12/14 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
python实现图像拼接功能
2020/03/23 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
linux比较文件内容的命令是什么
2015/09/23 面试题
小学庆六一活动方案
2014/02/28 职场文书
初中英语课后反思
2014/04/25 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
企业安全生产检查制度
2015/08/06 职场文书
合作意向书范本
2019/04/17 职场文书
mysql事务对效率的影响分析总结
2021/10/24 MySQL
Go获取两个时区的时间差
2022/04/20 Golang
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技