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 strip lstrip rstrip使用方法
Sep 06 Python
wxPython学习之主框架实例
Sep 28 Python
Python的subprocess模块总结
Nov 07 Python
python3简单实现微信爬虫
Apr 09 Python
python简单实现基数排序算法
May 16 Python
pyqt5与matplotlib的完美结合实例
Jun 21 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
用Python在Excel里画出蒙娜丽莎的方法示例
Apr 28 Python
Python OpenCV去除字母后面的杂线操作
Jul 05 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 Python
Python list和str互转的实现示例
Nov 16 Python
Python urllib request模块发送请求实现过程解析
Dec 10 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学习 变量使用总结
2011/03/24 PHP
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
一端时间轮换的广告
2006/06/26 Javascript
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
javascript模拟select,jselect的方法实现
2012/11/08 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
2016/05/17 Javascript
使用Ajax生成的Excel文件并下载的实例
2016/11/21 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
vue.js实现的经典计算器/科学计算器功能示例
2018/07/11 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
vue-cli3 引入 font-awesome的操作
2020/08/11 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
python判断字符串是否纯数字的方法
2014/11/19 Python
python中使用mysql数据库详细介绍
2015/03/27 Python
详解在Python程序中使用Cookie的教程
2015/04/30 Python
python获得一个月有多少天的方法
2015/06/04 Python
Python 数据结构之队列的实现
2017/01/22 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
django如何实现视图重定向
2019/07/24 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
大四学生思想汇报
2014/01/13 职场文书
清洁工岗位职责
2014/01/29 职场文书
企业演讲比赛主持词
2014/03/18 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
VUE递归树形实现多级列表
2022/07/15 Vue.js