如何将 3 位数字转换为分秒格式

Posted

技术标签:

【中文标题】如何将 3 位数字转换为分秒格式【英文标题】:How to convert a 3 digit number to Minute-Second format 【发布时间】:2021-02-08 01:24:43 【问题描述】:

在我的篮球模拟游戏中,刻钟设置为 3 位数,12 分钟刻钟 * 60 秒 = 720 秒。在我的游戏结果之后,我从四分之一时钟中减去一个介于 10 到 24 之间的随机数。我打印我的比赛结果,以及四分之一时钟。 示例代码:

quarter_clock = 12 * 60
time_runoff = random.randint(10,24)

def play():
    if player_makes_shot:
    print("player makes the shot")
    quarter_clock = quarter_clock - time_runoff
    print(quarter_clock)

输出:

player makes shot
702

如何使时钟输出为分秒格式,如下所示:

11:42

感谢您的帮助! :)

【问题讨论】:

将随机时间转换为秒,然后再转换回小时分秒 随机时间以秒为单位。我想知道如何将最终输出转换为分钟和秒。 我是说将你的原始时间全部转换为秒,然后使用函数返回一个包含小时和分钟的元组 【参考方案1】:

您可以使用divmod,它“返回两个数字相除后的商和余数”:

>>> divmod(702,60)
(11, 42)

所以你可以这样做:

>>> minutes, seconds = divmod(702,60)
>>> print(f"minutes:seconds")
11:42

编辑:

如果是 1 位数字,您还可以在秒的左侧添加 0,例如:

>>> minutes, seconds = divmod(662,60)
>>> print(f"minutes:seconds:02d")
11:02

【讨论】:

【参考方案2】:

我会在这里使用time 库。它正是为此而设计的,您可以输入任何您喜欢的格式:

所以对于分钟和秒(即12:00),请执行time.strftime("%M:%S", time.gmtime(quarter_clock))

time.strftime("%M:%S", time.gmtime(702))
Out[13]: '11:42'

而且只是在打印语句中做一个简单的改动

import time
import random

quarter_clock = 12 * 60
time_runoff = random.randint(10,24)

def play():
    if player_makes_shot:
        print("player makes the shot")
        quarter_clock = quarter_clock - time_runoff
        print(time.strftime("%M:%S", time.gmtime(quarter_clock)) )

【讨论】:

【参考方案3】:
 def convert(seconds): 
      seconds = seconds % (24 * 3600) 
       hour = seconds // 3600
       seconds %= 3600
       minutes = seconds // 60
       seconds %= 60
      return hour,minutes,seconds

 def get_sec(h,m,s):
      """Get Seconds from time."""
     if h==np.empty:
         h=0
     if m==np.empty:
         m=0
     if s==np.empty:
         s=0
     return int(h) * 3600 + int(m) * 60 + int(s)    

【讨论】:

将 0 传递给几小时得到秒数,然后将秒数转换回分秒数,忽略小时数

以上是关于如何将 3 位数字转换为分秒格式的主要内容,如果未能解决你的问题,请参考以下文章

在Excel中如何将数字格式批量转换为文本格式,并且保留二位小数?

关于时间格式的转换,MYSQL,PHP,10位数字表示时间

如何将数字的最后3位转换为0

js将人名币数字格式转换为为美元数字格式

数据库中如何使年月日时间分秒格式转换为年月日

如何将GPS数据转换为度分秒