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实现k均值算法示例(k均值聚类算法)
Mar 16 Python
python实现将汉字转换成汉语拼音的库
May 05 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
python实现textrank关键词提取
Jun 22 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
python 检查文件mime类型的方法
Dec 08 Python
python 3.3 下载固定链接文件并保存的方法
Dec 18 Python
Python+OpenCV感兴趣区域ROI提取方法
Jan 10 Python
python程序快速缩进多行代码方法总结
Jun 23 Python
详解python tkinter模块安装过程
Jan 06 Python
详解Python 重学requests发起请求的基本方式
Feb 07 Python
Python利用matplotlib绘制折线图的新手教程
Nov 05 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实现的memcache环形队列类实例
2015/07/28 PHP
php 实现301重定向跳转实例代码
2016/07/18 PHP
php获取linux命令结果的实例
2017/03/13 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
js CSS操作方法集合
2008/10/31 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
jQuery中addClass()方法用法实例
2015/01/05 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
Python中的zipfile模块使用详解
2015/06/25 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
2017/12/25 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
python多进程并行代码实例
2019/09/30 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
关于django python manage.py startapp 应用名出错异常原因解析
2020/12/15 Python
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
美国购车网站:TrueCar
2016/10/19 全球购物
项目经理岗位职责
2013/11/11 职场文书
求职信范文英文版
2014/01/05 职场文书
2014年世界艾滋病日宣传活动总结
2014/11/18 职场文书
黄石寨导游词
2015/02/05 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang
VUE递归树形实现多级列表
2022/07/15 Vue.js