Python输入涉及[mm:ss]

2024-05-18 05:50:42 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我要做一个跑步的程序

我的老师希望输入像这样

1 Enter pace [mm:ss]: 8:15
2 Enter distance [miles]: 26.2

所以我去做了这个输入

1 pace=input("Enter pace [mm:ss]: ")
2 dist=input("Enter distance [miles]: ")

但我不知道如何绕过“:”,因为没有办法(我还知道)让它忽略“:”,而只使用整数。你知道吗


Tags: 程序inputdist老师整数ss跑步distance
2条回答

要获得以秒为单位的配速间隔:

 pace=input("Enter pace [mm:ss]: ")
 pace_in_seconds = (int(pace.split(':')[0]) * 60) + int(pace.split(':')[1])
import time
pace=input("Enter pace [mm:ss]: ")
dist=input("Enter distance [miles]: ")    
unixTime = time.mktime(time.strptime(pace, '%M:%S'))

使用秒比使用字符串格式的时间更容易,并且strptimemktime结合使用会将字符串转换为秒。你知道吗

不管出于什么原因,我让你更加困惑,但是上面的想法应该是可行的,只是我自己想不出来,但是我不会删除整个答案,而是会给出一个有点难看的可行解决方案:

import time
pace=input("Enter pace [mm:ss]: ")
dist=input("Enter distance [miles]: ")    
unixTime = time.time() - time.mktime(time.strptime(time.strftime('%Y-%m-%d %H:')+pace, '%Y-%m-%d %H:%M:%S'))

这将给出用户以秒为单位的速度。你知道吗

  1. time.time()将以秒为单位给出当前时间
  2. time.mktime()struct_time对象转换为自epoch以来的秒数
  3. time.strptime()将“2014-02-20”转换为自epoch表示以来的秒
  4. time.strftime()只是用来在输入字符串中生成丢失的数据,以便正确地计算针对time()的“运行”秒数

更多关于Unix Time

相关问题 更多 >