【问题标题】:Create a list of time in M:S, each value must be repeated 3 times在 M:S 中创建时间列表,每个值必须重复 3 次
【发布时间】:2022-09-23 19:08:02
【问题描述】:

我需要在 M:S 中创建一个时间列表,但每个值必须重复 3 次。[0:00,0:00,0:00,0:01,0:01,0:01,0:02 ...] 提前致谢!

  • 欢迎来到Stack Overflow。这不是代码编写或辅导服务。它用于解决特定的技术问题,而不是对代码或建议的开放式请求。请编辑您的问题以显示您迄今为止尝试过的内容,以及您需要帮助的具体问题。请参阅How To Ask a Good Question 页面,了解有关如何最好地帮助我们帮助您的详细信息。

标签: python python-3.x


【解决方案1】:

我将使用字符串作为列表中的时间,因为我不知道您希望为它们使用哪种数据类型。我还将使用 24 小时制。 希望这可以帮助:

[f"{m//3}:{s//3:02d}" for m in range(60*3) for s in range(60*3)]

这仅在您使用 python 3.6 或更高版本时才有效,因为那是添加 f 字符串的时候。如果您使用的是 3.6 以下的版本,则可以改用 .format(),将代码中的每个 f'{x}...{y:02d}' 实例替换为 '{}...{:02d}'.format(x, y)

编辑:根据@MadPhysict 的建议将 int(x/3) 修改为 x//3 并将 secs 逻辑替换为 :02d。

【讨论】:

  • 使用// 而不是int
  • @MadPhysicist 你是对的,很好的建议。我完全忘记了运营商的存在
  • secs 的整个逻辑应该被删除。打印为'{m//3:02d}:{s//3:02d}'
  • @aexxy 很高兴能帮上忙
  • @MadPhysicist 这也是我错过的一项改进。紧张地出汗。我自己是 python 的初学者,从来没有学过字符串格式化技术(因为我几乎是自学的)。我在学校上过课,但只有极端的基础知识。
猜你喜欢
  • 2019-09-14
  • 1970-01-01
  • 2011-05-05
  • 1970-01-01
  • 2014-06-15
  • 2022-08-17
  • 1970-01-01
  • 2020-08-11
  • 2016-07-06
相关资源
最近更新 更多