import random # 初始化狐狸的位置 hole_list = [0,0,0,0,0] fox_hole = random.randint(0, 4) print(fox_hole) hole_list[fox_hole] = 1 # 初始化游戏状态 step = 1 max_step = 3 game_over = False # 游戏开始 print("游戏开始!") while step <= max_step and not game_over: # 玩家输入洞口号码 try: hole_num = int(input(f"第{step}次,请输入要打开的洞口号码(1-5): ")) if hole_num < 1 or hole_num > 5: raise ValueError except ValueError: print("您输入的洞口号码有误,请重新输入。") continue # 判断是否抓到了狐狸 if hole_list[hole_num-1] == 1: print("恭喜你,抓到了狐狸!") game_over = True else: print("很遗憾,这个洞里没有狐狸。") if step == max_step: print("很遗憾,您没有在规定次数内抓到狐狸,游戏结束。") game_over = True else: if fox_hole == 0: fox_hole = 1 elif fox_hole == 4: fox_hole = 3 else: fox_hole = random.choice([fox_hole - 1, fox_hole + 1]) print(fox_hole) hole_list[fox_hole] = 1 step += 1函数说明
时间: 2024-02-14 16:08:34 浏览: 224
python中random.randint和random.randrange的区别详解
5星 · 资源好评率100%
这是一个 Python 代码,实现了一个简单的“抓狐狸”游戏。游戏规则如下:有五个洞口,其中一个洞口里有一只狐狸,玩家需要在规定次数内猜出狐狸在哪个洞口,并抓住它。
具体而言,代码首先使用 random 模块生成一个随机数 fox_hole,表示狐狸在哪个洞口。然后,代码使用一个列表 hole_list 来表示每个洞口是否被翻开,初始值都为 0,表示都没有被翻开。狐狸所在的洞口 hole_list[fox_hole] 被赋值为 1。
游戏开始后,代码使用一个 while 循环来控制游戏的进行。在每一轮中,玩家需要输入一个洞口号码,代码判断这个洞口是否是狐狸所在的洞口。如果是,输出“恭喜你,抓到了狐狸!”并将游戏状态 game_over 设置为 True,游戏结束。如果不是,输出“很遗憾,这个洞里没有狐狸。”并判断是否已经达到了规定的最大猜测次数 max_step。如果达到了最大次数,输出“很遗憾,您没有在规定次数内抓到狐狸,游戏结束。”并将游戏状态 game_over 设置为 True,游戏结束。如果没有达到最大次数,代码会重新计算狐狸所在的洞口 fox_hole(规则是狐狸只会往左或往右走一个洞口,不会走出地图),并将 hole_list 中对应的值设为 1。循环结束后,代码会将 step 加 1,进入下一轮游戏。
整个代码逻辑比较简单,主要是通过循环和条件判断来实现。
阅读全文