Python分分钟带你玩转GUI猜数字游戏

代码步骤如下:

1、导入使用的GUI模块 Tkinter

2、创建GUI的主要应用程序入口

3、添加控件并设置相应的属性

4、编写触发事件响应代码

创建GUI的主要应用程序入口

 

接下来就是 设置相应的属性

我们为窗口添加一个控件

用于设置提示文本

 

编写触发事件响应代码

首先我们当然是需要一个随机数的生成,也需要引入这个标准库

定义需要引用到的全局变量,以便后面的函数去使用

接下来我们需要关闭窗口的事件(destory)

就像我们页面一样,按钮点击就可以把某个不需要显示的控件给关闭掉

```

def btnCloseClick(event):

    root.destory()

```

是不是很简单呢,就两行代码,就可以关闭窗口了,我们拭目以待吧

除了关闭按钮之外,我们当然还需要一个重置窗口

就像我们表单登录一样,重置密码

```

def btnResetClick(event):

    global number # 引用外部变量

    global running # 引用外部变量

    global num # 引用外部变量

    global maxnum # 引用外部变量

    global minnum # 引用外部变量

    number = random.randint(100,999) # 重新赋值

    running = True # 重新赋值

    num = 0 # 重新赋值

    labelChange("请输入100到999之间任意整数:")

    entry_num.delete(0,'end')

    labelRange('目前的范围是[%d,%d]'%(minnum,maxnum))

    print(number)

```

我们要猜数字,当然需要一个文本框用来输入数字,然后确定,给出提示

```

def btnGuessClick(event):

    global num

    global running

    global maxnum

    global minnum

    if running:

        answer = int(entry_num.get())

        if answer == number:

            labelChange("恭喜答对了!")

            num+=1

            running = False

            numGuess()

        elif answer < number:

            num+=1

            labelChange("小了哦")

            if answer>minnum:

                minnum=answer 

        else:

            num+=1

            labelChange("大了哦")

            if answer<maxnum:

                maxnum=answer

        labelRange('目前的范围是[%d,%d]'%(minnum,maxnum))       

    else:

        labelChange('你已经答对啦.')

```

最终我们才对了游戏的结果,我们还要给出信息提示:

```

def numGuess():

    if num == 1:

        labelChange('好棒!一次答对!')

    elif num < 9:

        labelChange('好厉害,尝试次数:'+str(num))

    elif num < 19:

        labelChange('还行,尝试次数:'+str(num))

    else:

        labelChange('您都试了超过20次了。。。。尝试次数:'+str(num))

def labelChange(vText): # 定义控件信息修改函数

    label_info.config(label_info,text=vText)

def labelRange(cText):

    label_range.config(label_range,text=cText)

```

最终所有代码整合起来的结果,由程序运行如下

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值