python3.3使用tkinter开发猜数字游戏示例


Posted in Python onMarch 14, 2014

利用这个小游戏可以学习一下ython3.3中tkinter的使用方法

# -*- coding: utf-8 -*-
import tkinter as tk
import sys
import random
import re
number = random.randint(0,1024)
running = True
num = 0
nmaxn = 1024
nminn = 0
def eBtnClose(event):
    root.destroy()
def eBtnGuess(event):
    global nmaxn
    global nminn
    global num
    global running
    #修改缺陷:用户答对了,提示标签还提示信息 Edit by Hongten 2013-09-09
    #即用户在答对了以后,提示标签不应该再随着用户点击'猜'按钮而变化
    if running:
        val_a = int(entry_a.get())
        if val_a == number:
            labelqval("恭喜答对了!")
            num+=1
            running = False
            numGuess()
        elif val_a < number:
            if val_a > nminn:
                nminn = val_a
                num+=1
                label_tip_min.config(label_tip_min,text=nminn)
            labelqval("小了哦")
        else:
            if val_a < nmaxn:
                nmaxn = val_a
                num+=1
                label_tip_max.config(label_tip_max,text=nmaxn)
            labelqval("大了哦")
    else:
        labelqval('你已经答对啦...')
def numGuess():
    if num == 1:
        labelqval('我靠!一次答对!')   
    elif num < 10:
        labelqval('= =十次以内就答对了牛逼。。。尝试次数:'+str(num))
    elif num < 50:
        labelqval('还行哦尝试次数:'+str(num))
    else:
        labelqval('好吧。。。。。您都试了超过50次了。。。。尝试次数:'+str(num))
def labelqval(vText):
    label_val_q.config(label_val_q,text=vText)   
root = tk.Tk(className="比大小游戏")
root.geometry("400x90+200+200")
line_a_tip = tk.Frame(root)
label_tip_max = tk.Label(line_a_tip,text=nmaxn)
label_tip_min = tk.Label(line_a_tip,text=nminn)
label_tip_max.pack(side = "top",fill = "x")
label_tip_min.pack(side = "bottom",fill = "x")
line_a_tip.pack(side = "left",fill = "y")
line_question = tk.Frame(root)
label_val_q = tk.Label(line_question,width="80")
label_val_q.pack(side = "left")
line_question.pack(side = "top",fill = "x")
line_input = tk.Frame(root)
entry_a = tk.Entry(line_input,width="40")
btnGuess = tk.Button(line_input,text="猜")
entry_a.pack(side = "left")
entry_a.bind('<Return>',eBtnGuess)
btnGuess.bind('<Button-1>',eBtnGuess)
btnGuess.pack(side = "left")
line_input.pack(side = "top",fill = "x")

line_btn = tk.Frame(root)
btnClose = tk.Button(line_btn,text="关闭")
btnClose.bind('<Button-1>',eBtnClose)
btnClose.pack(side="left")
line_btn.pack(side = "top")
labelqval("请输入0到1024之间任意整数:")
entry_a.focus_set()
print(number)
root.mainloop()
Python 相关文章推荐
Python中实现对list做减法操作介绍
Jan 09 Python
详解Python中for循环的使用方法
May 14 Python
Python实现的视频播放器功能完整示例
Feb 01 Python
Python3实现的字典、列表和json对象互转功能示例
May 22 Python
从请求到响应过程中django都做了哪些处理
Aug 01 Python
Python数据分析matplotlib设置多个子图的间距方法
Aug 03 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
python网络编程socket实现服务端、客户端操作详解
Mar 24 Python
宝塔面板成功部署Django项目流程(图文)
Jun 22 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
Nov 01 Python
python中的列表和元组区别分析
Dec 30 Python
OpenCV中resize函数插值算法的实现过程(五种)
Jun 05 Python
Python subprocess模块学习总结
Mar 13 #Python
用Python和MD5实现网站挂马检测程序
Mar 13 #Python
python操作数据库之sqlite3打开数据库、删除、修改示例
Mar 13 #Python
使用Python判断IP地址合法性的方法实例
Mar 13 #Python
Python 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 #Python
详解Python中的__init__和__new__
Mar 12 #Python
python文件和目录操作方法大全(含实例)
Mar 12 #Python
You might like
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
php实现word转html的方法
2016/01/22 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
实现动画效果核心方式的js代码
2013/09/27 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
Python基于PycURL实现POST的方法
2015/07/25 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
Python网页解析器使用实例详解
2020/05/30 Python
Python urllib2运行过程原理解析
2020/06/04 Python
python和php学习哪个更有发展
2020/06/17 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
struct与class的区别
2014/02/03 面试题
.NET是怎么支持多种语言的
2015/02/24 面试题
法学专业应届生求职信
2013/10/16 职场文书
创文明城市标语
2014/06/16 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
文明倡议书
2015/01/19 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
Django中的JWT身份验证的实现
2021/05/07 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android
SpringBoot详解执行过程
2022/07/15 Java/Android