蓝桥杯龟兔赛跑预测Python(超详细!!)

蓝桥杯龟兔赛跑预测Python

问题描述(简单描述)

龟兔赛跑,跑道长l米,如果兔子比乌龟快t米,兔就会停下来休息s秒,有一者到达终点则停止比赛。
兔子速度为v1,乌龟速度为v2,输入v1、v2、t、s、l,输出谁赢,与所用时间。兔子赢:输出R,乌龟赢,输出T,都赢:输出D。

问题分析

1.这是一个循环+判断问题。循环去判断s1、s2、l的大小关系,并且,循环一次,time+=1。(time为最后要输出的所用时间)则可以想到可以使用while True与if、elif结构。
2.先不考虑兔子会停下来的部分,有3种情况:s1>s2=l、s2>s1=l、s1=s2=l 。(注意:在实际写代码的过程中,要使用“==”)
3.遇到s1-s2=t时,s1的值不变,s2的值每次递增v2,递增s次。但是在s2递增的时候,可能会出现s2=l的情况,即在兔子休息时,乌龟到达终点。(注意:进入s1-s2>t的情况时,兔子不可能赢)

Python代码

v1,v2,t,s,l=map(int,input().split())
s1=0
s2=0
time=0
while True:
    if s1-s2>=t:
        for i in range(s):
            s1=s1
            s2+=v2
            time+=1
            if s2==l:
                print('T')
                print(time)
                break
    else:
        s1+=v1
        s2+=v2
        time+=1
        
    if s1>s2==l:
        print('R')
        print(time)
        break
    elif s2>s1==l:
        print('T')
        print(time)
        break
    elif s2==s1==l:
        print('D')
        print(time)
        break

说明

1.要注意使用break.
2.本人为小白,若有错误,欢迎大家指出!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值