Яндекс.Практикум

3. Стандарт UTC (Библиотеки)

Задача 1

Напишите функцию, которая по названию города скажет, сколько там сейчас времени.

Мы заготовили словарь UTC_OFFSET (англ. offset, «сдвиг»), где для каждого города записана разница местного времени и UTC в часах.

Код:

import datetime as dt

UTC_OFFSET = {
    'Санкт-Петербург': 3,
    'Москва': 3,
    'Самара': 4,
    'Новосибирск': 7,
    'Екатеринбург': 5,
    'Нижний Новгород': 3,
    'Казань': 3,
    'Челябинск': 5,
    'Омск': 6,
    'Ростов-на-Дону': 3,
    'Уфа': 5,
    'Красноярск': 7,
    'Пермь': 5,
    'Воронеж': 3,
    'Волгоград': 4,
    'Краснодар': 3,
    'Калининград': 2
}

def what_time(city):
    # напишите код тела функции
    # пусть она вернет время в городе city
    time_in_city = dt.timedelta(hours=UTC_OFFSET [city]) + dt.datetime.utcnow()
    return time_in_city

print(what_time('Екатеринбург'))

Результат:

2019-11-21 19:03:28.447966 

Задача 2

Напишите функцию, которая по имени друга скажет, сколько у него сейчас времени.

В словаре DATABASE хранятся данные о том, кто из друзей где живёт.

Код:

import datetime as dt

DATABASE = {
    'Серёга': 'Омск',
    'Соня': 'Москва',
    'Дима': 'Челябинск',
    'Алина': 'Красноярск',
    'Егор': 'Пермь'
}

UTC_OFFSET = {
    'Санкт-Петербург': 3,
    'Москва': 3,
    'Самара': 4,
    'Новосибирск': 7,
    'Екатеринбург': 5,
    'Нижний Новгород': 3,
    'Казань': 3,
    'Челябинск': 5,
    'Омск': 6,
    'Ростов-на-Дону': 3,
    'Уфа': 5,
    'Красноярск': 7,
    'Пермь': 5,
    'Воронеж': 3,
    'Волгоград': 4,
    'Краснодар': 3,
    'Калининград': 2
}

def what_time(friend):
    # напишите код тела функции
    # пусть она вернет время у друга из аргумента friend
    city = DATABASE [friend]
    current_time = dt.datetime.utcnow() + dt.timedelta (hours=UTC_OFFSET[city])
    return current_time

print(what_time('Алина'))

Результат:

2019-11-21 21:10:06.632558 

Оставьте комментарий