题目描述
NowCoder是个大忙人,经常要到国外出差。因为各个国家所在的时区不同,他要计算飞机到达目的地后当地的时间,这样才能预约来接机的司机。 你能帮帮他吗?现在给你出发时间、路程、当地时区以及目的地时区,请帮他计算到达目的地的时间。
输入描述:
输入包含多组数据,每组数据一行。 每组数据包含六个整数a、b、c、d、e、f: 1. 其中a和b分别表示出发时间的小时和分钟(0 ≤ a ≤ 23, 0 ≤ b ≤ 59); 2. c和d表示从出发地到目的地所需时间的小时和分钟 (0 ≤ c ≤ 100, 0 ≤ d ≤ 59); 3. e表示出发地所在的时区(-12 ≤ e ≤ 12) 3. f表示目的地所在的时区(-12 ≤ f ≤ 12)
输出描述:
对应每组输入,输出一行。 每组输出包含两个正整数,分别为到达目的地时当地时间的小时和分钟。
输入
17 30 14 5 8 -4 17 30 14 5 -4 8
输出
19 35 19 35
解答:
while True:
try:
a,b,c,d,e,f=map(int,input().strip().split(" "))
dangqianshiquxiaoshi=a+c
dangqianshiqufenzhong=b+d
shiqucha=e-f
res_xiaoshi=(a+c-shiqucha)
res_fenzhong=b+d
if res_fenzhong>=60:
res_fenzhong=res_fenzhong-(res_fenzhong//60)*60
res_xiaoshi+=1
if res_xiaoshi>=24:
res_xiaoshi=res_xiaoshi-(res_xiaoshi//24)*24
print(str(res_xiaoshi)+" "+str(res_fenzhong))
except:
break
总结:
1. 这道题是一个简单时间计算,需要注意的几个地方是,时差应该是e-f(当前时区-目的地时区),然后当分钟算出来超过60,需要进位,小时超过24,也需要进位。