首页 > 解决方案 > 如何创建一个程序,该程序需要用户输入美国时间并使用 python 将其转换为 BG 时间?

问题描述

鉴于美国和保加利亚之间的小时数差异 = 7h,我有这个小时数列表。例如,这个想法是,用户在上午 12 点给出输入,程序循环通过列表查找输入 12 AM(美国时间)等于什么,并在 7:00(BG 时间)返回答案,反之亦然。

usa_time = ['12AM=7:00','1AM=8:00','2AM=9:00','3AM=10:00','4AM=11:00','5AM=12:00' ,'6AM=13:00','7AM=14:00','8AM=15:00','9AM=16:00','10AM=17:00','11AM=18:00',' 12PM=19:00','1PM=20:00','2PM=21:00','3PM=22:00','4PM=23:00','5PM=00:00','6PM= 1:00','7PM=2:00','8PM=3:00','9PM=4:00','10PM=5:00','11PM=6:00']

user_input = input("输入所需的覆盖时间:")

标签: pythonloopsif-statementinput

解决方案


在您的情况下使用字典会更好。例如:

usa_time = { '24:00' : 7,
             '01:00' : 8,
             '02:00' : 9,
             .... etc 
}

user_input = input("Enter desired hour for coversion:")

usa_time[user_input]

鉴于输入与字典中的一个键匹配,它将返回所需的时间。请注意,这不是一个好的解决方案,也不是解决您的问题的方法。我刚刚向您展示了对您的解决方案的改进。有更有效的解决方案涉及库 pytz 和时区。您可以在此处查看示例:如何将本地时间字符串转换为 UTC?


推荐阅读