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之关于循环的小伎俩
Oct 02 Python
Python yield 使用浅析
May 28 Python
Python 机器学习库 NumPy入门教程
Apr 19 Python
python实现简单http服务器功能
Sep 17 Python
python实现词法分析器
Jan 31 Python
Python 3.8新特征之asyncio REPL
May 28 Python
python和c语言的主要区别总结
Jul 07 Python
详解用python生成随机数的几种方法
Aug 04 Python
如何分离django中的媒体、静态文件和网页
Nov 12 Python
Pandas 解决dataframe的一列进行向下顺移问题
Dec 27 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 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
PHP 中的批处理的实现
2007/06/14 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
Dom 结点创建 基础知识
2011/10/01 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
axios封装与传参示例详解
2020/10/18 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
一篇文章看懂JavaScript中的回调
2021/01/05 Javascript
Python中装饰器的一个妙用
2015/02/08 Python
使用Python的PIL模块来进行图片对比
2016/02/18 Python
Django多数据库的实现过程详解
2019/08/01 Python
重构Python代码的六个实例
2020/11/25 Python
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
2019/01/18 HTML / CSS
如何利用cmp命令比较文件
2013/09/23 面试题
大学生毕业自我评价范文分享
2013/11/11 职场文书
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
作风建设演讲稿
2014/05/23 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
张思德观后感
2015/06/09 职场文书
外出考察学习心得体会
2016/01/18 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书
Python 发送SMTP邮件的简单教程
2021/06/24 Python
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL