为了账号安全,请及时绑定邮箱和手机立即绑定

【Python】问题求助:在输入 23:59 13 正确的输出是00:12。错误输出是23:12

【Python】问题求助:在输入 23:59 13 正确的输出是00:12。错误输出是23:12

慕用2276564 2018-06-20 15:41:50
编码练习:结束时间第一行是以“0”开头的24小时制表示的“开始时间”,例如08:30或14:07。第二行是以分钟为单位的持续时间D. 打印出什么时候在开始时间后的几分钟。例如,用于输入12:30  47正确的输出将是13:17。所有时间都应该在00:00到23:59之间格式化为数字,但时间可能会在午夜之后。例如,在输入23:59  13正确的输出是00:12。练习代码:s = input()D = int(input())for i in range(0, len(s)):   if s[i] == ':':      H = int(s[0 : i])      M = int(s[i+1 : len(s)])      if (M + D) < 60:         M = M + D      elif (M + D) >= 60:         M = (M + D) % 60         H = H + (M + D) // 60          if (H + (M + D) // 60) >= 24:            H = (H + (M + D) // 60) % 24            if H < 10:         H = '0' + str(H)       if M < 10:         M = '0' + str(M)      print(str(H) + ':' + str(M))
查看完整描述

1 回答

?
慕用2276564

TA贡献4条经验 获得超1个赞

s = input()

D = int(input())

for i in range(0, len(s)):

   if s[i] == ':':

      H = int(s[0 : i])

      M = int(s[i+1 : len(s)])

      if (M + D) > 60 and (H + (M + D) // 60) < 24:

         H = H + (M + D) // 60

         M = (M + D) % 60

      elif (M + D) >= 60 and (H + (M + D) // 60) >= 24:

         H = (H + (M + D) // 60) % 24

         M = (M + D) % 60

      elif (M + D) < 60:

         M = (M + D) % 60

      if H < 10:

         H = '0' + str(H) 

      if M < 10:

         M = '0' + str(M)

      print(str(H) + ':' + str(M))

      break


查看完整回答
反对 回复 2018-06-21
  • 1 回答
  • 0 关注
  • 1095 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信