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 cookielib 登录人人网的实现代码
Dec 19 Python
python获取豆瓣电影简介代码分享
Jan 16 Python
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
解析Python中的二进制位运算符
May 13 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
Python3解决棋盘覆盖问题的方法示例
Dec 07 Python
基于数据归一化以及Python实现方式
Jul 11 Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 Python
dataframe 按条件替换某一列中的值方法
Jan 29 Python
Python自然语言处理之切分算法详解
Apr 25 Python
Python中的xlrd模块使用整理
Jun 15 Python
python flappy bird小游戏分步实现流程
Feb 15 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
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
javascript import css实例代码
2008/07/18 Javascript
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
2009/12/07 Javascript
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
2013/08/03 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
2016/05/31 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
Python中django学习心得
2017/12/06 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
Django 多环境配置详解
2019/05/14 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
python+logging+yaml实现日志分割
2019/07/22 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
python 如何区分return和yield
2020/09/22 Python
Python基于内置函数type创建新类型
2020/10/22 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
行政专员岗位职责
2014/01/02 职场文书
小学新学期寄语
2014/04/02 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python
python神经网络编程之手写数字识别
2021/05/08 Python
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技