我打算将此转换器作为项目的一部分使用,但它似乎没有按预期工作。小时数是正确的,但它没有增加分钟数。我似乎不明白这里出了什么问题,但我认为这是“分裂”部分。“9:30”的转换值在缺少30分钟的输出中为540。“14:30”也是如此。谢谢你的回答
这是我的代码:
schedule1 = [
["8:00", "9:30"],
["10:00", "11:00"],
["13:00", "14:30"],
["16:00", "17:00"]
]
def convert_schedule(schedule):
converted_schedule = []
for item in schedule:
start = item[0]
end = item[1]
start_hour, start_minute = start.split(':')
end_hour, end_minute = end.split(':')
start_time = int(start_hour) * 60 + int(start_minute)
end_time = int(end_hour) * 60 + int(start_minute)
print(f'{start_time}-{end_time}')
正如在评论中已经提到的,您可以使用datetime库来实现这一点。这是一种方法,但肯定还有其他(可能更有效)的方法:
这里发生了什么?首先,我将结束时间转换为datetime对象,将开始时间转换为timedelta对象,以相互减去。最后,我将结果转换回字符串对象
为什么选择datetime?尽一切可能让生活更轻松。现有的库(如内置的标准库)将帮助您以更少的代码行实现目标,从而使您的项目更干净。另一点是,您不必关心所有可能的边缘情况,因为模块和库可以为您提供帮助。这并不意味着你不必测试你的代码,但它使生活更容易
相关问题 更多 >
编程相关推荐