猜数字(thinker版)

猜数字(thinker版)

import random
import tkinter
import sys
import tkinter.messagebox


def cai_shu_zi():
    global i
    if Button1['text'] == "游戏结束":
        sys.exit()
    else:
        try:
            text_check = ''.join(j for j in Entry1.get() if j in '0123456789')
            int_cin = int(text_check)
            if i == 5 and int_cin != n:
                Label2['text'] = "你已经猜了5次了,并且都没有猜中"
                Button1['text'] = "游戏结束"
                Entry1.delete(0, 'end')
            elif int_cin < n:
                Label2['text'] = "你输入的数比较小"
                i += 1
                Button1['text'] = "输入下一个数字"
                Entry1.delete(0, 'end')
            elif int_cin > n:
                Label2['text'] = "你输入的数比较大"
                i += 1
                Button1['text'] = "输入下一个数字"
                Entry1.delete(0, 'end')
            elif int_cin == n:
                Label2['text'] = "恭喜你猜对了"
                Button1['text'] = "游戏结束"
                Entry1.delete(0, 'end')
        except ValueError:
            tkinter.messagebox.showerror(title='Error', message='请输入数字')


if __name__ == "__main__":
    n = int(random.random() * 50 + 1)
    i = 0
    window = tkinter.Tk()
    window.title('猜数字游戏')
    window.geometry('500x300')
    Label1 = tkinter.Label(window, text='猜数字游戏', font=('正楷', 13), width=30, height=2)
    Label1.place(x=110, y=20, anchor='nw')
    Button1 = tkinter.Button(window, text='开始游戏', font=('正楷', 13), width=20, height=1, command=cai_shu_zi)
    Button1.place(x=150, y=100, anchor='nw')
    Label2 = tkinter.Label(window, text='游戏未开始', bg='white', font=('正楷', 13), width=50, height=2)
    Label2.pack(side='bottom')
    Entry1 = tkinter.Entry(window, width=7,show=None)
    Entry1.place(x=220, y=150, anchor='nw')
    window.mainloop()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值