当前位置:   article > 正文

蓝桥杯龟兔赛跑预测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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

说明

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/64395
推荐阅读
相关标签
  

闽ICP备14008679号