python乌龟赛跑_Python之龟兔赛跑
题目描述:
话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特
点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于
是决定研究不同兔 子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病
——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先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之龟兔赛跑相关推荐
- python turtle 乌龟赛跑_Python编程 | 海龟绘图:Turtle Race 海龟赛跑游戏
AD: 购买本站源码请联系QQ677123或右侧QQ在线. 老师介绍 郑Sir@天港成编程营 郑Sir@天港成编程营 零基础 python 入门,在游戏中学会编程 ,不可错过的python编程课,免费 ...
- Python学习教程(Python学习视频_Python学些路线):Day05 总结和练习
Python学习教程(Python学习视频_Python学些路线):总结和练习 练习清单 寻找"水仙花数". 寻找"完美数". "百钱百鸡" ...
- 测试python第二周_python第二周作业
33003000370038003300381586927161642 ...
- 视频教程-快速入门Python基础教程_Python基础知识大全-Python
快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...
- Python学习教程(Python学习视频_Python学习路线):Day04循环结构
Python学习教程(Python学习视频_Python学习路线):循环结构 循环结构的应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入 ...
- 视频教程-快速入门Python基础教程_Python基础进阶视频-Python
快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...
- Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python
Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...
- python乌龟画花_python turtle画花
[LeetCode] Reconstruct Original Digits from English 从英文中重建数字 Given a non-empty string containing an ...
- python turtle 乌龟赛跑_用 Python Turtle 模块做小游戏 (2) - 画笔和乌龟赛跑
上一篇 豆子学习了基本的Turtle的使用,比如移动,定位,色彩等等.这次来看看他对事件的处理功能. 首先来看看个小游戏,通过几个按键的事件,实现 w(前进),s ( 后退),a (左转),d (右转 ...
- 马匹赛跑java_java模拟龟兔赛跑
通过使用 java 中 Jlabel,Jbutton,JtextArea,JcomboBox 等 swing 组件来实现图形用户界面,同 时通过设置布局,背景,字体等来丰富界面,最大程度的模拟龟兔赛跑 ...
最新文章
- 【 MATLAB 】DFS 和 DTFT 之间的关系
- 1116 c语言竞赛 (20 分)【难度: 一般 / 知识点: 模拟】
- Java黑皮书课后题第7章:7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值。编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字
- python FTP服务器实现(Python3)
- 奥的斯服务器状态显示,奥的斯电梯调试服务器(俗称st)按键介绍
- 用数组模拟队列的实现
- react 判断图片是否加载完成_React中型项目的优化实践
- 两个栈实现队列与两个队列实现栈
- BugkuCTF-WEB题计算器
- AcWing327.玉米田(状压DP)题解
- 一打开excel表,总提示有4.0版的宏
- 如何在 Mac 上发布警报?
- python 连接 mysql
- JAVA拓展新的数据库,SqlFaker:轻量级、易拓展的Java数据库智能填充开源库
- <<道 德 经>>------老子
- 曹雪芹诗歌中的鸿蒙,红楼一梦开辟相痴鸿蒙诗歌
- AI工程师应聘要具备哪些能力?
- 快速学习Spring Boot
- Windows环境下安装scrapy
- AMD的cpu vmware装黑苹果报错:客户机操作系统已禁用 CPU,请关闭或重置虚拟机
热门文章
- 项目沟通和干系人管理
- ps的初级教程:去痘痘-庞姿姿
- 仙剑3外传(问情篇)Win7(32/64位)不能运行的完全解决办法【转载】
- pymysql:Mysql拒绝从远程访问的解决办法
- c 语言 农历,C++算法系列之中国农历的算法
- 群同态和群同构的区别_抽象代数3-1群同态的简单性质与低阶群的结构
- android svg 线条动画教程,【Web动画】SVG 实现复杂线条动画
- matlab积分法求椭圆周长,用MATLAB计算椭圆周长和牛顿迭代MATLAB实现.doc
- 普渡大学统计与计算机科学,普渡大学西拉法叶分校统计学
- Ontology对接资源整理