小鱼游泳题目详解
题目分析
这一天,小鱼给自己的游泳时间做了精确的计时,它发现自己从a时b分一直游泳到当天的c时d分,请你帮小鱼计算一下,它这天一共游了多少时间呢?
问题的重点在于统一单位。
统一单位为分钟:a小时b分钟就是a * 60 + b分钟。c小时d分钟就是c * 60 + d分钟。时间差即为两个分钟的差。再转化出是几小时,几分钟即可。
常规做法
第一步:输入时间
使用input指令输入输入时间,分开输入小时和分钟。
1 | a = input('请输入开始的小时(24小时制):') |
第二步:时间转换
把小时转换成分钟要乘以六十,再加上输入的分钟。
1 | e = int(a) * 60 + int(b) |
第三步:时间计算
用结束的时间(分钟)减去开始的时间(分钟),算出总用时长。
1 | g = f - e |
第四步:转化为小时制
把总共的分钟市场除六十,提取整数,余数为剩余的分钟时间。
1 | h = g // 60 |
第五步:输出
记得转化字符串。
1 | print('一共游泳' + str(h) + '小时' + str(i) + '分钟') |
代码示例
1 | a = input('请输入开始的小时(24小时制):') #等待输入 |
部分代码解释
【//】为整除,【%】为余数
整除就是进行除法计算,结果只保留整数,余数是小学学的↓
借位做法(不推荐)
例如:开始的时间是6:30,结束的时间是7:20,正常我们人口算得出的时间是50分钟,在计算机里需要把小时和分钟拆开计算,即“结束小时-开始小时”“结束分钟-开始分钟”,这里还涉及到一个判定的条件,就我给的这个示例一样,结束的分钟数比开始的分钟数要小,所以减出来的就会有负数,这时候我们需要在小时上借1然后再进行运算。
第一步:输入时间
使用input指令输入输入时间,分开输入小时和分钟。
1 | a = input('请输入开始的小时(24小时制):') |
第二步:分钟大小判定
如果结束分钟大于开始分钟,就不用借位,反之则需要借位,先用if进行判定,如果d小于b即结束分钟小于开始分钟,则……
代码在下一步。
第三步:借位运算
在小时上,结束时间减去开始时间还要再减1,在分钟上,因为已经借1了,所以在结束的分钟上加60(一小时为60分钟),再减去结束的分钟就不会有负数了。
记得输出。
1 | if d<b: |
第四步:不借位运算
如果d大于b,即结束分钟大于开始分钟,那么直接减法即可,这里需要使用else,即否则……
同时需要输出:
1 | else: |
代码示例
1 | a = input('请输入开始的小时(24小时制):') #等待输入 |
部分代码解释
if语句没有学到,以后会学,大概的用法就是这样的,详细请见注释。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 程俞客&称心号!
评论