文章目录
文末送读者福利
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官方认证二维码免费领取