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翻译软件实现代码(使用google api完成)
Nov 26 Python
python中将函数赋值给变量时需要注意的一些问题
Aug 18 Python
Python探索之Metaclass初步了解
Oct 28 Python
用python实现对比两张图片的不同
Feb 05 Python
python如何在循环引用中管理内存
Mar 20 Python
python2与python3中关于对NaN类型数据的判断和转换方法
Oct 30 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 Python
python带参数打包exe及调用方式
Dec 21 Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 Python
python中实现栈的三种方法
Dec 19 Python
Python实现视频自动打码的示例代码
Apr 08 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简单命令代码集锦
2007/09/24 PHP
简单的PHP图片上传程序
2008/03/27 PHP
php中cookie的作用域
2008/03/27 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
PHP实现邮件群发的源码
2013/06/18 PHP
一段非常简单的让图片自动切换js代码
2006/11/10 Javascript
javascript数组组合成字符串的脚本
2021/01/06 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
webstorm添加vue.js支持的方法教程
2017/07/05 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
封装 axios+promise通用请求函数操作
2020/08/11 Javascript
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python通过解析网页实现看报程序的方法
2014/08/04 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
Python中函数参数调用方式分析
2018/08/09 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
Python模块 _winreg操作注册表
2020/02/05 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
数据库基础的一些面试题
2012/02/25 面试题
结婚周年感言
2014/02/24 职场文书
房屋出租协议书范本(标准版)
2014/09/24 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
开票员岗位职责
2015/02/12 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
如何用threejs实现实时多边形折射
2021/05/07 Javascript
python基础之类属性和实例属性
2021/10/24 Python
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技