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的变量与赋值详细分析
Nov 08 Python
PyCharm 常用快捷键和设置方法
Dec 20 Python
Python简单实现socket信息发送与监听功能示例
Jan 03 Python
将python代码和注释分离的方法
Apr 21 Python
CentOS 7 安装python3.7.1的方法及注意事项
Nov 01 Python
python 实现UTC时间加减的方法
Dec 31 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
python可视化text()函数使用详解
Feb 11 Python
python实现二分查找算法
Sep 18 Python
pytorch简介
Nov 11 Python
python实现录制全屏和选择区域录屏功能
Feb 05 Python
Python 爬取淘宝商品信息栏目的实现
Feb 06 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中调用JAVA
2006/10/09 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
js 调整select 位置的函数
2008/02/21 Javascript
javascript 常用代码技巧大收集
2009/02/25 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
浅谈javascript的调试
2015/01/28 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
2015/03/09 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
Python进程通信之匿名管道实例讲解
2015/04/11 Python
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
Python之父谈Python的未来形式
2016/07/01 Python
详解python如何调用C/C++底层库与互相传值
2016/08/10 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
Python使用folium excel绘制point
2019/01/03 Python
Python多线程模块Threading用法示例小结
2019/11/09 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
小学红领巾中秋节广播稿
2014/01/13 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
建筑工地文明标语
2014/10/09 职场文书
大学推普周活动总结
2015/05/07 职场文书
党性修养心得体会2016
2016/01/21 职场文书
Redis Cluster 集群搭建你会吗
2021/08/04 Redis
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫