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跳出循环语句continue与break的区别
Aug 25 Python
详细介绍Python函数中的默认参数
Mar 30 Python
python文件写入实例分析
Apr 08 Python
python3实现读取chrome浏览器cookie
Jun 19 Python
Python 基础之字符串string详解及实例
Apr 01 Python
Python pandas常用函数详解
Feb 07 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
Django代码性能优化与Pycharm Profile使用详解
Aug 26 Python
Python实现最大子序和的方法示例
Jul 05 Python
python3多线程知识点总结
Sep 26 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
如何用Matlab和Python读取Netcdf文件
Feb 19 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
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
phpmyadmin 访问被拒绝的真实原因
2009/06/15 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
用js自动判断浏览器分辨率的代码
2007/01/28 Javascript
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
javascript:void(0)的问题使用探讨
2014/04/10 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
常用DOM整理
2015/06/16 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
vue中提示$index is not defined错误的解决方式
2020/09/02 Javascript
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
python中强大的format函数实例详解
2018/12/05 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
2020/12/09 Python
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
实习护理工作自我评价
2013/09/25 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
公司担保书格式范文
2014/05/12 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
健康教育主题班会
2015/08/14 职场文书
话题作文之自信作文
2019/11/15 职场文书
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android