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 相关文章推荐
PyQt5每天必学之组合框
Apr 20 Python
Python实现的简单读写csv文件操作示例
Jul 12 Python
Flask框架通过Flask_login实现用户登录功能示例
Jul 17 Python
浅谈Python中的bs4基础
Oct 21 Python
python 对类的成员函数开启线程的方法
Jan 22 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
pygame实现贪吃蛇游戏(上)
Oct 29 Python
基于python读取.mat文件并取出信息
Dec 16 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
pytorch中的weight-initilzation用法
Jun 24 Python
Python合并多张图片成PDF
Jun 09 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伪静态页面函数附使用方法
2008/06/20 PHP
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
2018/10/24 PHP
jquery 锁定弹出层实现代码
2010/02/23 Javascript
jquery 打开窗口返回值实现代码
2010/03/04 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
python学生信息管理系统(初级版)
2018/10/17 Python
python实现图像全景拼接
2020/03/27 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
运动会解说词100字
2014/01/31 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python