利用python中的随机数解决抓狐狸问题


一、题干

编程模拟抓狐狸小游戏。假设一共有一排5个洞口,小狐狸最开始的时候在其中一个洞口,然后玩家随机打开一个洞口,如果里面有狐狸就抓到了,如果里面没有狐狸就到第二天再来抓,但是第二天狐狸会在玩家来抓之前跳到隔壁洞口里。如果在规定的次数内抓到了狐狸就提前结束游戏并提示成功;如果规定的次数用完还没有抓到狐狸,就结束游戏并提示失败。允许用户连续多次玩游戏。

二、解题步骤

1.引入库

因需要随机数,引入random库:

import random

2.产生随机数,产生小狐狸一开始的位置

foxInHole=random.randint(1,5)

3.使用循环,使用户重复输入

代码如下:

def Foxing(maxStep):
    foxInHole=random.randint(1,5)
    for i in range(maxStep):
        userInput=eval(input())
        if foxInHole==userInput:
            print('成功')
            break
        elif foxInHole!=userInput:
            print('错误,请重试')
            if foxInHole!=5 and foxInHole!=1:
                guess=random.choice([1,-1]) #用一个guess变量,记录小狐狸的前进或者后退
                foxInHole+=guess
            elif foxInHole==1: #如果到起点,就只能前进
                foxInHole+=1
            elif foxInHole==5: #如果到终点,就只能后退
                foxInHole-=1
            continue
        elif i==maxStep-1:
            print('失败')
            break
            

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值