【Python实战案例】一个聚会可以用到的暖场游戏:数字炸弹

文末送读者福利

1、游戏规则

聚会暖场游戏:数字炸弹

我们来说一下这个游戏的游戏规则:

1、首先,我们确定一个人作为主持人,他不参与本轮的游戏。

2、然后由主持人确定一个范围1-100,并写下范围内的一个数字51,准备好之后,便开始

3、之后按照顺时针或者逆时针的方向,由参与人依次报出范围内的数字。

4、主持人根据报出数字与手中的数字进行比较,并提示,大了,或者小了,答对了。

5、参与者报70,听到主持人说大了,然后到下一个人,则之后的人只能,0-70选择数字。

6、参与者报20,听到主持人说小了,然后到下一个人,则之后的人只能从20-70选择数字。、

7、参与者报51,听到主持人说答对了,恭喜你,你输了,罚酒一杯。

8、惩罚之后,“中奖者”就会作为本轮的主持人,继续游戏。防止连续“中奖”

毕竟娱乐,大家都是点到为止,也不强制,也是活跃气氛。(莫要贪杯)

2、头脑风暴时刻

游戏结束了,思考,那我们是否能通过程序来实现这个猜数字的过程。我们进行一下简化:

1、根据最大值,最小值确定范围。

2、如果大了或者小了,给他提示。

3、如果答对了,回答答对了,结束

2.1 第一种:机器来猜

我们来实现一下,机器猜我们定的数字,如果猜错了,我们需要取出区间内的中间值,再去判断。

代码如下:

def guess_my_number():
    print("请在心中想一个1~100之间的数字,我会尽力猜出来。")
    low = 1
    high = 100
    while True:
        guess = (low + high) // 2
        result = input("我猜这个数字是{},是大了(输入L),小了(输入S),猜对了(输入D):".format(guess))
        if result == "D":
            print("我猜对了!")
            break
        elif result == "L":
            high = guess - 1
        elif result == "S":
            low = guess + 1
# 调用函数
guess_my_number()

这样的话,就实现了,机器猜我们的数字的目的。运行结果如下,我的数字是61.

2.2 第二种:我们来猜

我们需要来猜测机器随机生成的是哪个数字,相同的原理,我们猜错了,他需要回答我们大了还是小了。

这里我们来做一个界面,操作更加方便。

代码如下:

import tkinter as tk
import random
class GuessNumberGame(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.master.title("猜数字游戏")
        self.pack()
        self.create_widgets()
    def create_widgets(self):
        # 显示题目
        self.question_label = tk.Label(self, text="我已经想好一个1~100之间的数字,你尽力猜出来吧")
        self.question_label.pack()
        # 显示猜测结果
        self.guess_label = tk.Label(self, text="")
        self.guess_label.pack()
        # 显示输入框和按钮
        self.input_frame = tk.Frame(self)
        self.input_frame.pack(side="bottom")
        self.input_entry = tk.Entry(self.input_frame, width=10)
        self.input_entry.pack(side="left")
        self.submit_button = tk.Button(self.input_frame, text="猜测", command=self.guess)
        self.submit_button.pack(side="left")
        # 初始化游戏
        self.low = 1
        self.high = 100
        self.guess_number = self.generate_guess_number()
    def generate_guess_number(self):
        return random.randint(self.low, self.high)
    def guess(self):
        try:
            guess = int(self.input_entry.get())
            if guess < self.guess_number:
                self.guess_label.configure(text="您猜的数字太小了!")
                self.low = guess + 1
            elif guess > self.guess_number:
                self.guess_label.configure(text="您猜的数字太大了!")
                self.high = guess - 1
            else:
                self.guess_label.configure(text="恭喜您,猜对了!")
                self.submit_button.configure(state="disabled")
        except ValueError:
            self.guess_label.configure(text="请输入一个数字!")
        self.input_entry.delete(0, tk.END)
root = tk.Tk()
game = GuessNumberGame(master=root)
game.mainloop()

这样我们就实现我们猜机器的数字了。

好了,今天的分享就到这里!如果你还想知道更多Python小游戏,Python实战案例的话, 可以关注我哦~这里有一份Python全套学习资料分享给大家,0基础入门+进阶实战,学完就可以自己写写小游戏了,还可以在网上帮人写写爬虫脚本,接单赚米。

需要的可以自行扫描下方SCDN官方认证二维码免费领取

资料包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、大厂面试题、Python练习题、Python实战案例源码等学习教程。带你从零基础到精通!

零基础Python学习资源介绍

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python学习软件

工欲善其事,必先利其器。学习Python常用的开发软件都在这里了!
在这里插入图片描述

三、Python入门学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

四、Python练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

五、Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。这份资料也包含在内的哈~在这里插入图片描述

六、Python面试资料

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

七、资料领取

上述完整版Python全套学习资料已经上传CSDN官方,需要的小伙伴可自行微信扫描下方CSDN官方认证二维码免费领取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值