当前位置: 代码迷 >> 综合 >> 将形如 5D, 30s 的字符串转为秒
  详细解决方案

将形如 5D, 30s 的字符串转为秒

热度:63   发布时间:2024-01-30 00:54:47.0

问题

编写一个函数,将形如 5D, 30s, 的字符串转为秒????????????????????????????????????????????????????????????????????????????????

=========   ======= ===================
Character   Meaning Example
=========   ======= ===================
s           Seconds '60s' -> 60 Seconds
m           Minutes '5m'  -> 5 Minutes
h           Hours   '24h' -> 24 Hours
d           Days    '7d'  -> 7 Days
=========   ======= ===================

讨论

这个函数能够提高时间间隔作为参数时的可读性, 比如设置一个计时器 set_timer('20m')。 因此在一些开源项目内得到应用。

AC Code????????????????????????????????????????????????????????????????????????????????

import sysdef convert_to_seconds(time_str):num = eval(time_str[0:-1])if time_str[-1] in ['s', 'S']:return "{:.1f}".format(num)elif time_str[-1] in ['m', 'M']:return "{:.1f}".format(num*60)elif time_str[-1] in ['h', 'H']:return "{:.1f}".format(num*60*60)elif time_str[-1] in ['d', 'D']:return "{:.1f}".format(num*60*60*24)else:passwhile True:line = sys.stdin.readline()line = line.strip()if line == '':breakprint(convert_to_seconds(line))

 

  相关解决方案