Напишите функцию, которая по названию города скажет, сколько там сейчас времени.
Мы заготовили словарь UTC_OFFSET, где для каждого города записана его поправка к UTC в часах.
mport datetime as dt
UTC_OFFSET = {
'Санкт-Петербург': 3,
'Москва': 3,
'Самара': 4,
'Новосибирск': 7,
'Екатеринбург': 5,
'Нижний Новгород': 3,
'Казань': 3,
'Челябинск': 5,
'Омск': 6,
'Ростов-на-Дону': 3,
'Уфа': 5,
'Красноярск': 7,
'Пермь': 5,
'Воронеж': 3,
'Волгоград': 3,
'Краснодар': 3,
'Калининград': 2
}
def what_time(city):
# Напишите код тела функции;
# она должна вернуть текущее время в городе city
print(what_time('Екатеринбург'))
Ответы
Ответ:
Sure, here's the code for the function you requested:
python
import datetime as dt
UTC_OFFSET = {
'Санкт-Петербург': 3,
'Москва': 3,
'Самара': 4,
'Новосибирск': 7,
'Екатеринбург': 5,
'Нижний Новгород': 3,
'Казань': 3,
'Челябинск': 5,
'Омск': 6,
'Ростов-на-Дону': 3,
'Уфа': 5,
'Красноярск': 7,
'Пермь': 5,
'Воронеж': 3,
'Волгоград': 3,
'Краснодар': 3,
'Калининград': 2
}
def what_time(city):
current_time_utc = dt.datetime.utcnow()
offset = UTC_OFFSET.get(city)
if offset is None:
return "Unknown city"
current_time_in_city = current_time_utc + dt.timedelta(hours=offset)
return current_time_in_city.strftime("%Y-%m-%d %H:%M:%S")
print(what_time('Екатеринбург'))
The what_time function takes a city as input and returns the current time in that city by adding the UTC offset to the current UTC time. The UTC_OFFSET dictionary contains the UTC offsets for various cities. The function handles cases where the city is not found in the dictionary by returning "Unknown city."
Объяснение: