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 base64 decode incorrect padding错误解决方法
Jan 08 Python
python中list常用操作实例详解
Jun 03 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
pandas进行数据的交集与并集方式的数据合并方法
Jun 27 Python
Python中staticmethod和classmethod的作用与区别
Oct 11 Python
python字典一键多值实例代码分享
Jun 14 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
django 多对多表的创建和插入代码实现
Sep 09 Python
Python异常模块traceback用法实例分析
Oct 22 Python
python列表生成器迭代器实例解析
Dec 19 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
Mar 10 Python
python跨文件使用全局变量的实现
Nov 17 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日历程序
2006/12/06 PHP
php 将excel导入mysql
2009/11/09 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
2015/11/25 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
Python基础学习之函数方法实例详解
2019/06/18 Python
Python requests获取网页常用方法解析
2020/02/20 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
Myholidays美国:在线旅游网站
2019/08/16 全球购物
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
博士生入学考试推荐信
2013/11/17 职场文书
工业设计专业个人求职信范文
2013/12/28 职场文书
薪酬专员岗位职责
2014/02/18 职场文书
运动会通讯稿500字
2014/02/20 职场文书
留学顾问岗位职责
2014/04/14 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
小学数学教研活动总结
2014/07/01 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
行政上诉状范文
2015/05/23 职场文书
员工考勤管理制度
2015/08/06 职场文书
关于开学的感想
2015/08/10 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL