Python 专题

Python实例-猜数游戏

2022-07-14  本文已影响0人  小鱼儿_yzh

分析:

玩家输入一个数字,与系统产生的随机数时行比对,根据比对输入结果,如果想等显示“恭喜你猜对了!”,如果玩家数字比系统数字大则显示“你猜大了,再试一次吧!”,如果玩家数字比系统数字小,则显示“你猜小了,再试一次吧!”

I:玩家输入数字,用Entry控件来完成
P:用Message控件来显示比对结果。“恭喜你猜对了!”“你猜大了,再试一次吧!”“你猜小了,再试一次吧!”
O:设置一个Button用来绑定函数judge(),用来进行玩家输入数字与系统产生的随机数的对比,用while循环实现猜到为止的游戏玩法。

变量和方法:
guess 玩家输入的数字
answer 随机产生的数字
ms Message绑定的变量,用于显示结果
e Entry绑定的变量
label_1 显示标题“猜数字游戏”,Label 控件
label_2 用于提示玩家输入数字的规则,Label 控件
entry 用于让玩家输入数字,Entry 控件
button 用于玩家输入数字后点击运行judge()函数,Button 控件
message 用于显示比对结果,Message 控件

算法:

  1. 导入 tkinter random 库
  2. 变量声明
  3. 自定义函数 clear, 用于清空 Entry 和 Message
  4. 自定义函数 judge, 用于进行猜数字的比对
  5. label_1, 显示游戏标题
  6. label_2,显示提示玩家规则
  7. entry, 用于玩家输入数字
  8. button ,用于执行游戏进行判断
  9. message ,用于显示结果

代码:

from tkinter import *
import random

root = Tk()
root.geometry("300x200")
root.title('猜数字游戏')

#变量声明
guess= IntVar()
answer = IntVar()
ms = StringVar()
e = IntVar()

#随机产生一个答案
answer = random.randint(0,100)

#请空数字和结果
def clear(event):
    entry.delete(0,'end')
    ms.set('')
    
# 判断猜数结果
def judge():     
    guess = int(e.get())   
    if 0<=guess<=100:
        if guess == answer:
            ms.set('恭喜你猜对了!')           
        elif guess > answer:
            ms.set('你猜大了,再试一次吧!')            
        else:
            ms.set('你猜小了,再试一次吧!')          
    else:
        ms.set('请输入0-100之间的整数')
        
#窗体控件
label_1 = Label(root,text='猜数字游戏',font=("隶书",20))
label_1.pack(pady=5)

label_2 =Label(root,text='请输入0-100之间的整数')
label_2.pack(pady=5)

entry = Entry(root,textvariable=e)
entry.delete(0)
entry.pack(pady=5)
entry.bind('<Button-1>',clear)

button=Button(root,text='猜一猜',command=judge)
button.pack(pady=5)

message = Message(root,textvariable=ms,width=200)
message.pack(pady=5)

mainloop()

效果图:





上一篇下一篇

猜你喜欢

热点阅读