xuzhengye @ 2024-01-25 20:46:32
import math
s,v=map(int,input().split())
t=s/v
if t<50:
b=str(math.floor(50-t)).rjust(2,'0')
print('07:{}'.format(b))
else:
T=t-50
if T<=420:
m=str(math.floor(60-T%60)).rjust(2,'0')
while m=='60':
m='00'
h=str(7-int(T/60)).rjust(2,'0')
print("{}:{}".format(h,m))
elif T>420 and T<=1860:
m=str(math.floor(60-T%60)).rjust(2,'0')
while m=='60':
m='00'
h=str(24-int(T/60)+7).rjust(2,'0')
print("{}:{}".format(h,m))
else:
print('不符合题意!')
by hyh0174 @ 2024-01-25 21:56:57
其实不用这么麻烦,我有两种做法,你可以借鉴一下
#第一种:用python自带时间计算库datetime
from datetime import timedelta
s,v=map(int,input().split())
t=str(timedelta(hours=8)-timedelta(minutes=s/v+10)).split(':')
try:
t[0]=t[0].split()[2]
except:
pass
print('%02d'%(int(t[0]))+':'+'%02d'%(int(t[1])))
#第二种:正常做法
s,v=map(int,input().split())
m=s//v+bool(s%v)+10
print("%02d"%((8-m//60-bool(m%60))%24)+':'+"%02d"%(-m%60))
by Rita12 @ 2024-03-04 21:00:44
@hyh0174 你好,可以请教一下你吗? m=s//v+bool(s%v)+10 print("%02d"%((8-m//60-bool(m%60))%24)+':'+"%02d"%(-m%60))这两句代码是什么含义呀?或者说怎么才能想到这个代码?还有bool()在这里起了什么作用呀?