猿问

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

编码练习:结束时间

第一行是以“0”开头的24小时制表示的“开始时间”,例如08:3014: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))


慕用2276564
浏览 1165回答 1
1回答

慕用2276564

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
随时随地看视频慕课网APP

相关分类

Python
我要回答