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生成随机mac地址的方法
Mar 16 Python
处理Python中的URLError异常的方法
Apr 30 Python
tensorflow实现softma识别MNIST
Mar 12 Python
Python使用pip安装pySerial串口通讯模块
Apr 20 Python
python排序函数sort()与sorted()的区别
Sep 18 Python
Python从Excel中读取日期一列的方法
Nov 28 Python
5分钟 Pipenv 上手指南
Dec 20 Python
Python3.5实现的三级菜单功能示例
Mar 25 Python
Python在Matplotlib图中显示中文字体的操作方法
Jul 29 Python
Python 函数list&amp;read&amp;seek详解
Aug 28 Python
10个python爬虫入门实例(小结)
Nov 01 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 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
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
php实现的简单日志写入函数
2015/03/31 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
javascript 写类方式之六
2009/07/05 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
当jQuery1.7遇上focus方法的问题
2014/01/26 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
Python多分支if语句的使用
2020/09/03 Python
金宝贝童装官网:Gymboree
2016/08/31 全球购物
美国折扣网站:jClub
2017/08/07 全球购物
高中生自我评价个人范文
2013/11/09 职场文书
财务会计专业推荐信
2013/11/30 职场文书
七年级数学教学反思
2014/01/22 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
铁路安全反思材料
2014/12/24 职场文书
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers