Решение модуля 6.6 Инди-курс программирования на Python

Модуль 6.6 (Методы словаря). Словари имеют достаточно большое количество методов и в этом модуле познакомимся с ними

Есть два словаря, нужно в словарь d2 вмержить словарь d1 при помощи метода update

В качестве ответа выведите словарь d2

d1 = {'a': 100, 'b': 200, 'c': 333}
d2 = {'x': 300, 'y': 200, 'z': 777}

d2.update(d1)  # при помощи метода update - мы соединяем 2 словаря в 1
print(d2)      # выводим полученный словарь

В скором времени в Берляндии откроется новая почтовая служба «Берляндеск». Администрация сайта хочет запустить свой проект как можно быстрее, поэтому они попросили Вас о помощи. Вам предлагается реализовать прототип системы регистрации сайта.

Система должна работать по следующему принципу. Каждый раз, когда новый пользователь хочет зарегистрироваться, он посылает системе запрос name со своим именем. Если данное имя не содержится в базе данных системы, то оно заносится туда и пользователю возвращается ответ OK, подтверждающий успешную регистрацию. Если же на сайте уже присутствует пользователь с именем name, то система формирует новое имя и выдает его пользователю в качестве подсказки, при этом подсказка также добавляется в базу данных. Новое имя формируется по следующему правилу. К name последовательно приписываются числа, начиная с единицы (name1, name2, …), и среди них находят такое наименьшее i, что namei не содержится в базе данных сайта.

Решение модуля 6.6 Инди-курс программирования на Python
n = int(input())         # получаем число - сколько будет введено запросов
arhiv = {}               # создаем пустой словарь с использованными запросами

# циклом получаем определенное количество запросов и проверяем их наличие в базе
for i in range(n):       
    a = input()          # получаем запрос
    if a not in arhiv:   # если запроса нет в базе данных, то добавляем его в базу и выводим ОК
        arhiv[a] = 1     # добавляем в словарь. Ключ - запрос, значение - число сколько раз его использовали
        print('OK')      # выводим сообщение ОК
    else:                # иначе, если уже есть в словаре
        # мы выводим данный запрос, но с циферкой на конце(сколько раз его уже использовали)
        print(f'{a}{arhiv[a]}') 
        arhiv[a] += 1    # увеличиваем количество раз использования на 1

Переменные countries соединяют ряд стран с тремя крупнейшими городами каждой страны. 

Программе на вход будет поступать название города в переменную city. И ваша задача найти какой стране принадлежит введенный город. Если страна успешно найдена, необходимо вывести сообщение:

INFO: <City> is a city in <Country>

в противном случае

ERROR: Country for {City} not found

Учитывайте, что регистр букв имеет значение
countries = {
    "Sweden": ["Stockholm", "Göteborg", "Malmö"],
    "Norway": ["Oslo", "Bergen", "Trondheim"],
    "England": ["London", "Birmingham", "Manchester"],
    "Germany": ["Berlin", "Hamburg", "Munich"],
    "France": ["Paris", "Marseille", "Toulouse"]
}

city = input()   # получаем город для поиска
# циклом перебираем элементы словаря и если данный город находиться в значении сразу выводится страна(в нужном формате) и цикл прекращается
for key, values in countries.items():
    if city in values:
        print(f'INFO: {city} is a city in {key}')
        break
else:            # но если город не нашёлся ни в одном значении, то выводит сообщение о том что данный город не был найден
    print(f'ERROR: Country for {city} not found')

Перед вами словарь user

При помощи метода pop переименуйте в нем следующие ключи:

  • ключ password в ключ secret
  • ключ last_name в ключ surname

Выводить ничего не нужно, только изменить ключи словаря

user = {
    "id": 4170,
    "uid": "5e941db5-9e0f-4f94-9fc5-734110c6be14",
    "password": "SyUpfo1ljm",
    "first_name": "Teresa",
    "last_name": "Wehner",
    "username": "teresa.wehner",
    "email": "teresa.wehner@email.com",
    "gender": "Non-binary",
    "phone_number": "+674 424.561.2776",
    "social_insurance_number": "637316241",
    "date_of_birth": "1993-08-17"
}

# переименовываем ключ(удаляем старый элемент словаря и создаем новый с новым ключем и старым значением)
user['secret'] = user.pop('password') 
# переименовываем ключ(удаляем старый элемент словаря и создаем новый с новым ключем и старым значением)
user['surname'] = user.pop('last_name') 

Напишите код для преобразования списка из целых чисел произвольной длины во словарь, вложенность которого зависит от длина списка.

Например, если перед вами был бы такой список 

[100, 55, 77, 55, 89]

то он должен превратится в такой словарь

{100: {55: {77: {55: 89}}}}

На вход программе поступают числа для списка в одну строку, гарантируется, что в списке будет как минимум два элемента.

Ваша задача вывести полученный словарь

list_inp = list(map(int, input().split()))  # получаем числа и преобразуем в список

dic = {}                 # создаем пустой словарь
x = len(list_inp) - 1    # получаем длинну списка и вычитаем 1 т.к индексы в списках идут с 0

while x != 0:            # пока x не станет 0 проходим по циклу
    if len(dic) == 0:    # если длинна словоря равна 0
        # записываем пару ключ значение где ключом будет предпоследний элемент списка, а значением последний.
        dic = {list_inp[x - 1] : list_inp[x]} 
    else:
        # записываем в значение предыдущий получившийся словарь
        dic = {list_inp[x - 1] : dic} 
    x -= 1                # вычитаем 1

print(dic)

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

1 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Дмитрий
Дмитрий
11 месяцев назад

Решение последней задачи модуля в которой нужно создать список из строки с цифрамиЖ

list_inp = list(map(int, input().split()))

res = {}
x = len(list_inp) — 1

while x != 0:
if len(res) == 0:
res = {list_inp[x — 1] : list_inp[x]}
else:
res = {list_inp[x — 1] : res}
x -= 1

print(res)

1
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x