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使用reportlab画图示例(含中文汉字)
Dec 03 Python
对pandas中Series的map函数详解
Jul 25 Python
详解Django的CSRF认证实现
Oct 09 Python
便捷提取python导入包的属性方法
Oct 15 Python
解决python写入带有中文的字符到文件错误的问题
Jan 31 Python
对numpy下的轴交换transpose和swapaxes的示例解读
Jun 26 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
jupyter notebook实现显示行号
Apr 13 Python
python读取图像矩阵文件并转换为向量实例
Jun 18 Python
python 如何读、写、解析CSV文件
Mar 03 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通用检测函数集合
2006/11/25 PHP
php利用cookie实现访问次数统计代码
2011/05/19 PHP
使用PHP备份MYSQL数据的多种方法
2014/01/15 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
2014/04/09 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
php简单实现多字节字符串翻转的方法
2015/03/31 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
javascript call和apply方法
2008/11/24 Javascript
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
js实现弹窗居中的简单实例
2016/10/09 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
详解react如何在组件中获取路由参数
2017/06/15 Javascript
简述Angular 5 快速入门
2017/11/04 Javascript
vue 中swiper的使用教程
2018/05/22 Javascript
vue 中滚动条始终定位在底部的方法
2018/09/03 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
pytorch中的自定义数据处理详解
2020/01/06 Python
flask项目集成swagger的方法
2020/12/09 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
研究生求职推荐信范文
2013/11/30 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
质量标语大全
2014/06/12 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL