赞
踩
龟兔赛跑,跑道长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的情况时,兔子不可能赢)
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.本人为小白,若有错误,欢迎大家指出!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。