鱼C论坛

 找回密码
 立即注册
查看: 2540|回复: 9

模拟抓狐狸游戏

[复制链接]
发表于 2019-3-26 09:56:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题:假设一共有一排5个洞口,小狐狸最开始在其中一个洞口,然后玩家随机打开一个洞口,如果里面有狐狸就抓到了。如果洞口里面没有狐狸就第二天来抓,但是第二天狐狸会在玩家来抓之前跳到隔壁洞口里。
这道题的思路是啥,我看了百度半天没看懂。。。求助!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-3-26 10:10:40 | 显示全部楼层
。。。。。这个有啥不懂的。
举例,
第一天(第一次循环),狐狸在第一个洞,玩家打开(猜)第一个洞,就抓到了狐狸,如果猜其他,就下一次循环来抓,然后狐狸跳到第二个洞里面
第二次循环,如上
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-26 10:40:40 | 显示全部楼层
大致是不是这个样子的:
  1. import random

  2. if __name__=="__main__":
  3.   random.seed()
  4.   flag=0
  5.   for i in range(1,9):
  6.     fox=random.randint(1,9)
  7.     if i==fox:
  8.       print("抓住了小狐狸在第%d 个洞口"%i)
  9.       flag=1
  10.       break
  11.     else:
  12.       print("本次开洞没有抓到小狐狸 你开的洞口是%d  而小狐狸躲在 %d 洞"%(i,fox))   
  13.   if flag==0 :
  14.     print("真笨呀 机会用光了,也没有抓到小狐狸")
复制代码


e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是1  而小狐狸躲在 8 洞
本次开洞没有抓到小狐狸 你开的洞口是2  而小狐狸躲在 9 洞
抓住了小狐狸在第3 个洞口

e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是1  而小狐狸躲在 5 洞
抓住了小狐狸在第2 个洞口

e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是1  而小狐狸躲在 2 洞
抓住了小狐狸在第2 个洞口

e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是1  而小狐狸躲在 2 洞
本次开洞没有抓到小狐狸 你开的洞口是2  而小狐狸躲在 9 洞
本次开洞没有抓到小狐狸 你开的洞口是3  而小狐狸躲在 8 洞
本次开洞没有抓到小狐狸 你开的洞口是4  而小狐狸躲在 1 洞
本次开洞没有抓到小狐狸 你开的洞口是5  而小狐狸躲在 2 洞
本次开洞没有抓到小狐狸 你开的洞口是6  而小狐狸躲在 1 洞
本次开洞没有抓到小狐狸 你开的洞口是7  而小狐狸躲在 4 洞
本次开洞没有抓到小狐狸 你开的洞口是8  而小狐狸躲在 2 洞
真笨呀 机会用光了,也没有抓到小狐狸
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-26 10:47:07 | 显示全部楼层
玩家也是随机开洞口啊  那应该再加一条语句:

  1. import random

  2. if __name__=="__main__":
  3.   random.seed()
  4.   flag=0
  5.   for i in range(1,9):
  6.     fox=random.randint(1,9)
  7.     player=random.randint(1,9)
  8.     if player==fox:
  9.       print("抓住了小狐狸在第%d 个洞口"%player)
  10.       flag=1
  11.       break
  12.     else:
  13.       print("本次开洞没有抓到小狐狸 你开的洞口是%d  而小狐狸躲在 %d 洞"%(player,fox))   
  14.   if flag==0 :
  15.     print("真笨呀 机会用光了,也没有抓到小狐狸")
复制代码


e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是7  而小狐狸躲在 5 洞
本次开洞没有抓到小狐狸 你开的洞口是7  而小狐狸躲在 2 洞
本次开洞没有抓到小狐狸 你开的洞口是3  而小狐狸躲在 2 洞
本次开洞没有抓到小狐狸 你开的洞口是4  而小狐狸躲在 6 洞
抓住了小狐狸在第1 个洞口

e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是1  而小狐狸躲在 2 洞
本次开洞没有抓到小狐狸 你开的洞口是7  而小狐狸躲在 8 洞
本次开洞没有抓到小狐狸 你开的洞口是3  而小狐狸躲在 4 洞
本次开洞没有抓到小狐狸 你开的洞口是2  而小狐狸躲在 3 洞
抓住了小狐狸在第6 个洞口

e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是4  而小狐狸躲在 1 洞
抓住了小狐狸在第6 个洞口

e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是3  而小狐狸躲在 4 洞
抓住了小狐狸在第9 个洞口
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-26 13:50:57 | 显示全部楼层
没有审题,小狐狸不是随机的 而是跳到隔壁,这把差不多了吧

  1. import random

  2. if __name__=="__main__":
  3.   random.seed()
  4.   flag=0
  5.   fox=random.randint(1,5)
  6.   for i in range(1,6):
  7.     player=random.randint(1,5)
  8.     if player==fox:
  9.       print("抓住了小狐狸在第%d 个洞口"%player)
  10.       flag=1
  11.       break
  12.     else:
  13.       print("本次开洞没有抓到小狐狸 你开的洞口是%d  而小狐狸躲在 %d 洞"%(player,fox))   
  14.     if fox<5:
  15.       fox+=1
  16.     else:
  17.       fox=1
  18.   if flag==0 :
  19.     print("真笨呀 机会用光了,也没有抓到小狐狸")
复制代码


e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是1  而小狐狸躲在 3 洞
本次开洞没有抓到小狐狸 你开的洞口是5  而小狐狸躲在 4 洞
本次开洞没有抓到小狐狸 你开的洞口是4  而小狐狸躲在 5 洞
本次开洞没有抓到小狐狸 你开的洞口是5  而小狐狸躲在 1 洞
本次开洞没有抓到小狐狸 你开的洞口是1  而小狐狸躲在 2 洞
真笨呀 机会用光了,也没有抓到小狐狸

e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是3  而小狐狸躲在 5 洞
本次开洞没有抓到小狐狸 你开的洞口是2  而小狐狸躲在 1 洞
本次开洞没有抓到小狐狸 你开的洞口是3  而小狐狸躲在 2 洞
本次开洞没有抓到小狐狸 你开的洞口是2  而小狐狸躲在 3 洞
抓住了小狐狸在第4 个洞口

e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是4  而小狐狸躲在 3 洞
本次开洞没有抓到小狐狸 你开的洞口是5  而小狐狸躲在 4 洞
本次开洞没有抓到小狐狸 你开的洞口是4  而小狐狸躲在 5 洞
本次开洞没有抓到小狐狸 你开的洞口是4  而小狐狸躲在 1 洞
本次开洞没有抓到小狐狸 你开的洞口是4  而小狐狸躲在 2 洞
真笨呀 机会用光了,也没有抓到小狐狸

e:\>python ex16.py
本次开洞没有抓到小狐狸 你开的洞口是3  而小狐狸躲在 1 洞
抓住了小狐狸在第2 个洞口
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-26 19:40:49 | 显示全部楼层
wp231957 发表于 2019-3-26 13:50
没有审题,小狐狸不是随机的 而是跳到隔壁,这把差不多了吧

在这里,这个if __name__=="__main__":这条语句是啥意思啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-26 20:17:46 From FishC Mobile | 显示全部楼层
亿万大兄弟 发表于 2019-3-26 19:40
在这里,这个if __name__=="__main__":这条语句是啥意思啊?

你可以理解为主程序入口
你也可以删除它
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-30 09:48:08 | 显示全部楼层
wp231957 发表于 2019-3-26 13:50
没有审题,小狐狸不是随机的 而是跳到隔壁,这把差不多了吧

可是,小狐狸没有被抓到,第二天跳到隔壁洞口也是不确定的啊,不能只单纯的用fox+=1吧,假如小狐狸一开始在3号洞口,没有被抓到,第二天有可能跳2号,也有可能跳4号啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-30 09:49:31 | 显示全部楼层
亿万大兄弟 发表于 2019-3-30 09:48
可是,小狐狸没有被抓到,第二天跳到隔壁洞口也是不确定的啊,不能只单纯的用fox+=1吧,假如小狐狸一开始 ...

你说的不错 ,是我没考虑到,
可是 这又如何呢  你完全可以自己修改一下 就好了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-30 10:17:10 | 显示全部楼层
wp231957 发表于 2019-3-30 09:49
你说的不错 ,是我没考虑到,
可是 这又如何呢  你完全可以自己修改一下 就好了

好的吧,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-14 19:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表