Python通过NiceGUI实现猜数游戏

今天我要分享一个用Python和NiceGUI库编写的简单猜数游戏。这个游戏的目标是让用户猜一个1到100之间的随机数,并给出相应的反馈。

首先确保已经安装nicegui库,可以在cmd使用以下命令安装:

pip install nicegui

以下是实现这个小游戏的完整代码:

from nicegui import ui
import random

class GuessNumberGame:
    def __init__(self):
        self.target_number = random.randint(1, 100)
        self.init_ui()

    def init_ui(self):
        with ui.column().style('align-items: center; justify-content: center; height: 100vh; text-align: center;'):
            ui.label('猜数游戏').style('font-size: 36px; font-weight: bold;')
            self.label = ui.label('请输入一个1到100之间的数字:').style('font-size: 24px; margin-top: 20px;')
            self.input = ui.input().style('font-size: 24px; width: 200px; margin-top: 20px;')
            self.result_label = ui.label('').style('font-size: 24px; margin-top: 20px;')
            ui.button('提交', on_click=self.check_guess).style(
                'font-size: 24px; background-color: lightblue; margin-top: 20px; width: 100px;')
            ui.label('auther: MinL1ghT').style('font-size: 18px; margin-top: 40px; color: grey;')

    def check_guess(self):
        try:
            guess = int(self.input.value)
        except ValueError:
            self.result_label.text = '请输入一个有效的整数!'
            self.result_label.style('color: red;')
            return
        if guess < 1 or guess > 100:
            self.result_label.text = '请输入1到100之间的数字!'
            self.result_label.style('color: red;')
        elif guess < self.target_number:
            self.result_label.text = '猜小了!'
            self.result_label.style('color: orange;')
        elif guess > self.target_number:
            self.result_label.text = '猜大了!'
            self.result_label.style('color: red;')
        else:
            self.result_label.text = '恭喜你,猜对了!'
            self.result_label.style('color: green;')
            # 重置游戏
            self.target_number = random.randint(1, 100)
            self.label.text = '游戏重新开始,请输入一个1到100之间的数字:'
            self.input.value = ''

if __name__ in {"__main__", "__mp_main__"}:
    game = GuessNumberGame()
    ui.run()

直接运行上述代码即可启动猜数游戏。打开浏览器访问http://localhost:8080查看游戏界面。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值