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 相关文章推荐
10款最好的Web开发的 Python 框架
Mar 18 Python
利用Tkinter(python3.6)实现一个简单计算器
Dec 21 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
Jun 28 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
Dec 18 Python
kafka-python批量发送数据的实例
Dec 27 Python
Python3.6.2调用ffmpeg的方法
Jan 10 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
pip安装python库的方法总结
Aug 02 Python
python如何保存文本文件
Jun 07 Python
python 爬虫之selenium可视化爬虫的实现
Dec 04 Python
Python的三个重要函数详解
Jan 18 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
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
利用PHP如何统计Nginx日志的User Agent数据
2019/03/06 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
jQuery的Ajax的自动完成功能控件简要说明
2013/02/22 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
2013/06/17 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
Jquery实现的一种常用高亮效果示例代码
2014/01/28 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
JS为什么说async/await是generator的语法糖详解
2019/07/11 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
python文件操作整理汇总
2014/10/21 Python
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
Python实现最大子序和的方法示例
2019/07/05 Python
python双向链表原理与实现方法详解
2019/12/03 Python
python实现视频读取和转化图片
2019/12/10 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
校园文化艺术节宣传标语
2014/10/09 职场文书
先进个人申报材料
2014/12/30 职场文书
捐书仪式主持词
2015/07/04 职场文书
新年祝酒词大全
2015/08/11 职场文书
详解nginx.conf 中 root 目录设置问题
2021/04/01 Servers
oracle表分区的概念及操作
2021/04/24 Oracle
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL