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的id()函数解密过程
Dec 25 Python
使用python编写脚本获取手机当前应用apk的信息
Jul 21 Python
python求众数问题实例
Sep 26 Python
Python中用pycurl监控http响应时间脚本分享
Feb 02 Python
python实现kNN算法
Dec 20 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
更新pip3与pyttsx3文字语音转换的实现方法
Aug 08 Python
详解Python中的分支和循环结构
Feb 11 Python
更新升级python和pip版本后不生效的问题解决
Apr 17 Python
python实现一次性封装多条sql语句(begin end)
Jun 06 Python
利用Python实现斐波那契数列的方法实例
Jul 26 Python
Django如何与Ajax交互
Apr 29 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中var_export与var_dump的区别分析
2010/08/21 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
php 中英文语言转换类代码
2011/08/11 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
php实现图片上传时添加文字和图片水印技巧
2020/04/18 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
2014/10/31 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
AngularJS实现DOM元素的显示与隐藏功能
2016/11/22 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
python django集成cas验证系统
2014/07/14 Python
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
Python控制台实现交互式环境执行
2020/06/09 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
介绍一下linux的文件权限
2012/02/15 面试题
历史学专业推荐信
2013/11/06 职场文书
5.12护士节活动总结
2015/02/10 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS