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中动态获取对象的属性和方法的教程
Apr 09 Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
python爬虫的一个常见简单js反爬详解
Jul 09 Python
PyTorch中Tensor的维度变换实现
Aug 18 Python
基于Python中random.sample()的替代方案
May 23 Python
Python爬取YY评级分数并保存数据实现过程解析
Jun 01 Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 Python
了解一下python内建模块collections
Sep 07 Python
Python加密技术之RSA加密解密的实现
Apr 08 Python
Python使用mitmproxy工具监控手机 下载手机小视频
Apr 18 Python
Python 的演示平台支持 WSGI 接口的应用
Apr 20 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使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
PHP实现简易计算器功能
2020/08/28 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
关于jquery form表单序列化的注意事项详解
2017/08/01 jQuery
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
javascript+css3开发打气球小游戏完整代码
2017/11/28 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
python新手经常遇到的17个错误分析
2014/07/30 Python
深入理解Python 代码优化详解
2014/10/27 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
python实现八大排序算法(2)
2017/09/14 Python
python+os根据文件名自动生成文本
2019/03/21 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
django 外键创建注意事项说明
2020/05/20 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
垃圾回收的优点和原理
2014/05/16 面试题
电子商务专业学生职业生涯规划
2014/03/07 职场文书
学期评语大全
2014/04/30 职场文书
合伙购房协议样本
2014/10/06 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
Go 语言结构实例分析
2021/07/04 Golang
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang