当前位置: 首页 > news >正文

python用tkinter随机数猜数字大小

python用tkinter随机数猜数字大小


没事做,看到好多人用scratch做的猜大小的示例,也用python的tkinter搞一个猜大小的代码玩玩。
猜数字代码

from tkinter import *
from random import randint# 定义确定按钮的点击事件
def hit(x,y):global s_Labprint(x.get(),y)try:n=int(x.get())if n>y:s="猜大了"if n==y:s="%d,你猜对了"%yif n<y:s="猜小了"s_Lab.set(s)x.set('')except:s_Lab.set("输入必须是数字")x.set('')# 定义重置按钮的事件
def reset():global n_randnum_E.set('')s_Lab.set(ss)n_rand=randint(s_n.get(),e_n.get())print(n_rand)# 定义回车键事件
def on_r(evt):hit(num_E,n_rand)def on_res(evt):reset()def n_rand():global n_randtry:s, n = s_n.get(), e_n.get()n_rand=randint(s,n)print(n_rand)s_Lab.set("猜一个%d到%d的数"%(s,n))except:s_Lab.set("请正确设置")#定义窗口
win=Tk()
win.title('猜一猜')
win.geometry('300x220')frm1=LabelFrame(win,text="随机数范围设置")
frm1.pack(padx=10,pady=5)a_lb=Label(frm1,text="设置起始与结束值,初始随机数状态为0").pack()s_n=IntVar()
s_E1=Entry(frm1,width=10,textvariable=s_n).pack(side='left',padx=10,pady=5)z_lb=Label(frm1,text="至").pack(side='left',pady=5)e_n=IntVar()
e_E2=Entry(frm1,width=10,textvariable=e_n).pack(side='left',padx=10,pady=5)set_btn=Button(frm1,width=10,text="设置",command=n_rand).pack(side='right',padx=10,pady=5)# 随机取一个1~100的整数,标签的初始显示字符
n_rand=randint(0,0)
ss="猜一个整数"# frm2=tkinter.LabelFrame(win)
frm2=Frame(win)
frm2.pack(padx=10,pady=5)
# Label是第1个控件,从左向右布局
s_Lab=StringVar()       #定义动态字符串
s_Lab.set(ss)
s=Label(frm2, bg='red', fg='yellow',width=25,textvariable=s_Lab)
s.pack(side=LEFT, fill=BOTH, padx=5, pady=5)# 3个Button自上而下布局
num_E=StringVar()       #定义动态字符串
Entry(frm2,  width=10,textvariable=num_E,justify=CENTER).pack(padx=5, pady=5)r_btn=Button(frm2, text='确定', width=10,command=lambda:hit(num_E,n_rand))
r_btn.pack(padx=5, pady=5)Button(frm2, text='重置', width=10,command=reset).pack(padx=5, pady=5)#绑定“enter”事件与“shift"事件
win.bind('<Return>', on_r)
win.bind('<Shift_L>', on_res)
# win.bind('<Key>', on_res)win.mainloop()

界面显示如下
在这里插入图片描述

http://www.lryc.cn/news/224572.html

相关文章:

  • 程序员们保住自己饭碗
  • 顶板事故防治vr实景交互体验提高操作人员安全防护技能水平
  • 为什么推荐从Linux开始了解IT技术
  • 【Mysql】增删改查(基础版)
  • 文件夹找不到了怎么恢复?4个正确恢复方法分享!
  • 迅为RK3568开发板GPS模块测试实验步骤
  • 用趋动云GPU部署自己的Stable Diffusion
  • nfs配置
  • 说话人识别声纹识别CAM++,ECAPA-TDNN等算法
  • 某平台简单尝试一次密码逆向
  • 微信号绑定50个开发者小程序以后超额如何删除不用的
  • 【Cheat Engine7.5】基础教程第三关(步骤4)
  • 141. 环形链表 --力扣 --JAVA
  • 电子元器件的结温壳温与环境温度经验总结
  • Spring Gateway基础知识总结
  • NFS文件系统共享服务器实战
  • CSS的概念和基本用法
  • 万字详解Java的三大特性:封装 | 继承 | 多态
  • TensorFlow学习笔记--(1)张量的随机生成
  • 如何防止IP和账户关联?
  • 进入网络安全行业有哪些大公司推荐
  • OpenHarmony 社区运营报告(2023 年 10 月)
  • Mybatis二级缓存源码整理
  • 如何在 HarmonyOS 对数据库进行备份,恢复与加密
  • js实现向上、向下、向左、向右无缝滚动
  • 6 Hive引擎集成Apache Paimon
  • 发布版本自动化记录版本功能方法
  • Elastic Stack 8.11:引入一种新的强大查询语言 ES|QL
  • wx:for-item wx:for-index wx:for-key
  • 老师还不会评课?这里有你需要的解决方案