题目描述:

话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特

点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于

是决定研究不同兔 子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病

——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以 上,它

们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它

们不到终点决不停止。

然而有些比赛相当漫长,全程观看会耗费大量时间,而小华发现只要在每场比赛开始后记录下兔

子和乌龟的数据——兔子的速度v1(表示每秒兔子能跑v1 米),乌龟的速度v2,以及兔子对应的

t,s值,以及赛道的长度l——就能预测出比赛的结果。但是小华很懒,不想通过手工计算推测出

比赛的结果,于是他找 到了你——清华大学计算机系的高才生——请求帮助,请你写一个程序,对

于输入的一场比赛的数据v1,v2,t,s,l,预测该场比赛的结果。

输入:

输入只有一行,包含用空格隔开的五个正整数v1,v2,t,s,l,其中(v1,v2< =100;t< =300;

s< =10;l< =10000且为v1,v2的公倍数)

输出:

输出包含两行,第一行输出比赛结果——一个大写字母“T”或“R”或“D”,分别表示乌龟获胜,兔子

获胜,或者两者同时到达终点。

第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。

样例输入:

10 5 5 2 20

样例输出

D

4

解题思路:本题的关键是如何表达兔子停留时间。我用的方法是设置一个计时变量,默认情况下值大于停留时间。一旦达到触发条件,将其清0,知道停留时间到后,让兔子继续运动。代码如下:

# -*- coding: utf-8 -*-

"""

Created on Thu Jul 23 11:34:49 2020

@author: user

"""

'''

题目描述:

话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特

点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于

是决定研究不同兔 子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病

——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以 上,它

们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它

们不到终点决不停止。

然而有些比赛相当漫长,全程观看会耗费大量时间,而小华发现只要在每场比赛开始后记录下兔

子和乌龟的数据——兔子的速度v1(表示每秒兔子能跑v1 米),乌龟的速度v2,以及兔子对应的

t,s值,以及赛道的长度l——就能预测出比赛的结果。但是小华很懒,不想通过手工计算推测出

比赛的结果,于是他找 到了你——清华大学计算机系的高才生——请求帮助,请你写一个程序,对

于输入的一场比赛的数据v1,v2,t,s,l,预测该场比赛的结果。

输入:

输入只有一行,包含用空格隔开的五个正整数v1,v2,t,s,l,其中(v1,v2< =100;t< =300;

s< =10;l< =10000且为v1,v2的公倍数)

输出:

输出包含两行,第一行输出比赛结果——一个大写字母“T”或“R”或“D”,分别表示乌龟获胜,兔子

获胜,或者两者同时到达终点。

第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。

------

样例输入:

10 5 5 2 20

样例输出

D

4

'''

argstr = input('请输入五个正整数v1(兔速),v2(龟速),t(兔领),s(兔停),l(赛道长),\

请用空格隔开:')

argulist = argstr.split(' ')

'''

v1 = int(argulist[0]) #兔速度

v2 = int(argulist[1]) #龟速度

t = int(argulist[2]) #兔子领先休息阈值

s = int(argulist[3]) #停止时间

l = int(argulist[4]) #赛道长度

'''

v1,v2,t,s,l = (int(i) for i in argulist)

i_t=i_s= 0 #初始时间

count_s = s+1 #兔子休息时长计数,初值大于停止时间,停止2s那么第3s时才算动

distance_t = distance_r =0 #兔子及乌龟跑的距离

while distance_t

distance_t = v2*i_t #乌龟已跑距离

if count_s >s: #停止触发条件,默认运动状态

distance_r = v1*i_s #兔子已跑距离

i_s +=1 #兔子运动时间累加

if distance_r-distance_t >= t: #如果>t兔子休息s秒

count_s =0 #计时器清0

i_t +=1 #乌龟运动时间累加

count_s +=1 #兔子休息时间计数

if distance_t==distance_r:

print('D','%d' %(i_t-1))

elif distance_t > distance_r:

print('T','%d' %(i_t-1))

else:

print('R','%d' %(i_t-1))

原文链接:https://blog.csdn.net/water19111213/article/details/107535161

python乌龟赛跑_Python之龟兔赛跑相关推荐

  1. python turtle 乌龟赛跑_Python编程 | 海龟绘图:Turtle Race 海龟赛跑游戏

    AD: 购买本站源码请联系QQ677123或右侧QQ在线. 老师介绍 郑Sir@天港成编程营 郑Sir@天港成编程营 零基础 python 入门,在游戏中学会编程 ,不可错过的python编程课,免费 ...

  2. Python学习教程(Python学习视频_Python学些路线):Day05 总结和练习

    Python学习教程(Python学习视频_Python学些路线):总结和练习 练习清单 寻找"水仙花数". 寻找"完美数". "百钱百鸡" ...

  3. 测试python第二周_python第二周作业

    33003000370038003300381586927161642 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬ ...

  4. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

  5. Python学习教程(Python学习视频_Python学习路线):Day04循环结构

    Python学习教程(Python学习视频_Python学习路线):循环结构 循环结构的应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入 ...

  6. 视频教程-快速入门Python基础教程_Python基础进阶视频-Python

    快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...

  7. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  8. python乌龟画花_python turtle画花

    [LeetCode] Reconstruct Original Digits from English 从英文中重建数字 Given a non-empty string containing an ...

  9. python turtle 乌龟赛跑_用 Python Turtle 模块做小游戏 (2) - 画笔和乌龟赛跑

    上一篇 豆子学习了基本的Turtle的使用,比如移动,定位,色彩等等.这次来看看他对事件的处理功能. 首先来看看个小游戏,通过几个按键的事件,实现 w(前进),s ( 后退),a (左转),d (右转 ...

  10. 马匹赛跑java_java模拟龟兔赛跑

    通过使用 java 中 Jlabel,Jbutton,JtextArea,JcomboBox 等 swing 组件来实现图形用户界面,同 时通过设置布局,背景,字体等来丰富界面,最大程度的模拟龟兔赛跑 ...

最新文章

  1. 【 MATLAB 】DFS 和 DTFT 之间的关系
  2. 1116 c语言竞赛 (20 分)【难度: 一般 / 知识点: 模拟】
  3. Java黑皮书课后题第7章:7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值。编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字
  4. python FTP服务器实现(Python3)
  5. 奥的斯服务器状态显示,奥的斯电梯调试服务器(俗称st)按键介绍
  6. 用数组模拟队列的实现
  7. react 判断图片是否加载完成_React中型项目的优化实践
  8. 两个栈实现队列与两个队列实现栈
  9. BugkuCTF-WEB题计算器
  10. AcWing327.玉米田(状压DP)题解
  11. 一打开excel表,总提示有4.0版的宏
  12. 如何在 Mac 上发布警报?
  13. python 连接 mysql
  14. JAVA拓展新的数据库,SqlFaker:轻量级、易拓展的Java数据库智能填充开源库
  15. <<道 德 经>>------老子
  16. 曹雪芹诗歌中的鸿蒙,红楼一梦开辟相痴鸿蒙诗歌
  17. AI工程师应聘要具备哪些能力?
  18. 快速学习Spring Boot
  19. Windows环境下安装scrapy
  20. AMD的cpu vmware装黑苹果报错:客户机操作系统已禁用 CPU,请关闭或重置虚拟机

热门文章

  1. 项目沟通和干系人管理
  2. ps的初级教程:去痘痘-庞姿姿
  3. 仙剑3外传(问情篇)Win7(32/64位)不能运行的完全解决办法【转载】
  4. pymysql:Mysql拒绝从远程访问的解决办法
  5. c 语言 农历,C++算法系列之中国农历的算法
  6. 群同态和群同构的区别_抽象代数3-1群同态的简单性质与低阶群的结构
  7. android svg 线条动画教程,【Web动画】SVG 实现复杂线条动画
  8. matlab积分法求椭圆周长,用MATLAB计算椭圆周长和牛顿迭代MATLAB实现.doc
  9. 普渡大学统计与计算机科学,普渡大学西拉法叶分校统计学
  10. Ontology对接资源整理