一,问题描述
小明要做一个跑步训练,初始时,小明充满体力,体力值计为 10000。如果小明跑步,每分钟损耗 600 的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是 均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达 0,他就停止锻炼,请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案,答案中只填写数,不填写单位。
二,答案提交
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
三,Python代码
#作业1 跑步训练
x=10000
time=0
while True:
x-=600
time+=60
x+=300
time += 60
if x <600:
break
while x!=0:
x-=10
time += 1
print(time)
答案:3880
四,题目解读
小明是先跑再休息,而且跑步和休息是相互进行的,不可以连跑2分钟或者连休息2分钟,所以小明再跑到一定程度时,剩余的体力如果大于600他会要么继续跑,要么休息。小明总有体力值小于600的时候,这时候如果他休息,则体力可能会大于600,则总会出现体力小于600时。如果他继续跑,则会将体力全部耗完,此时消耗体力值小于600.题目有个隐含条件,一秒消耗体力60,一秒补充体力30,那么,剩下的体力就可以算出来消耗需要多少秒了。
五,代码解读
x=10000 #设定初始体力x为10000 time=0 #设定初始时间time为0 while True: #由于跑步和休息时间歇性循环的,建立一个死循环 x-=600 #由于先跑,且每次体力减600 time+=60 #每次时间加60 x+=300 #休息体力加300 time += 60 #休息时间加60
if x <600: #如果体力小于600,这时候就只能将剩下的跑完了,因为此时如果休息体 力增加到600多也会有消耗到小于600时。如果跑完还小于600,则会在休息加300,进而总会有剩下的路程全部跑完。 break while x!=0: #用于计算剩下的跑完需要的体力 x-=10 time += 1 print(time) #最后输出时间,注意时间在while外,因为时要总的时间
结语: 如果还有不理解可以私信我,看到后一定会答复的!如果帮助到你,希望给个赞。手机端的小伙伴由于代码解读部分无法显示完全,已经写到评论区了!!!
今日一笑:
一个男生暗恋一个女生很久了。一天自习课上,男生偷偷的传了小纸条给女生,上面写着“其实我注意你很久了”。不一会儿,女生传了另一张纸条,男生心急火燎的打开一看“拜托你不要告诉老师,我保证以后再也不嗑瓜子了”。。。。。。男生一脸懵逼。