【思特奇杯•云上蓝桥—算法训练营】第1周作业 蓝桥杯真题-跑步训练(Python)

一,问题描述

小明要做一个跑步训练,初始时,小明充满体力,体力值计为 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外,因为时要总的时间 

结语: 如果还有不理解可以私信我,看到后一定会答复的!如果帮助到你,希望给个赞。手机端的小伙伴由于代码解读部分无法显示完全,已经写到评论区了!!!

今日一笑:

一个男生暗恋一个女生很久了。一天自习课上,男生偷偷的传了小纸条给女生,上面写着“其实我注意你很久了”。不一会儿,女生传了另一张纸条,男生心急火燎的打开一看“拜托你不要告诉老师,我保证以后再也不嗑瓜子了”。。。。。。男生一脸懵逼。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>