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获取网页状态码示例
Mar 30 Python
python协程用法实例分析
Jun 04 Python
Python中的下划线详解
Jun 24 Python
Python做文本按行去重的实现方法
Oct 19 Python
浅析python参数的知识点
Dec 10 Python
python实战串口助手_解决8串口多个发送的问题
Jun 12 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 Python
python开发入门——set的使用
Sep 03 Python
python处理写入数据代码讲解
Oct 22 Python
Python中npy和mat文件的保存与读取
Apr 24 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
改变Apache端口等配置修改方法
2008/06/05 PHP
PHP XML操作的各种方法解析(比较详细)
2010/06/17 PHP
php 类自动载入的方法
2015/06/03 PHP
PHP 裁剪图片
2021/03/09 PHP
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
python图像和办公文档处理总结
2019/05/28 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
使用python将excel数据导入数据库过程详解
2019/08/27 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
Python2与Python3的区别详解
2020/02/09 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
入党自我鉴定范文
2013/10/04 职场文书
自我评价正确写法范文
2013/12/10 职场文书
一年级班主任寄语
2014/01/19 职场文书
庆祝教师节活动方案
2014/01/31 职场文书
倡议书格式
2014/04/14 职场文书
人身意外保险授权委托书
2014/10/01 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server