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

Модуль 6.4 (Словарь. Знакомство с типом данных dict).

Словарь (его еще называют ассоциативным списком) – неупорядоченная совокупность произвольных объектов с доступом по ключу. Словари это очень важный тип данных, вы будете с ним очень часто работать, возможно так же часто как и со списками. 

Как создать пустой словарь и сохранить его в переменной d?

d = {}
d = dict()

Создайте пустой словарь и сохраните его в переменную my_dict, затем выведите на экран эту переменную

my_dict = {}      # создаем пустой словарь при помощи фигурных скобок
print(my_dict)    # выводим пустой словарь, хранящийся в переменной my_dict

Какой тип данных мы увидим если у переменной d вызвать функцию type()?

d = {}
print(type(d))
dict

Создайте словарь, у которого должны быть следующие пары ключ-значения

КлючЗначение
name — строкаVasya — строка
surname — строкаPetrov — строка
age — строка25 — целое число

Данный словарь необходимо сохранить в переменную person и затем вывести эту переменную на экран

# создаем словарь с данными приведенными в таблице. Ключ: Значение - 1 элемент словаря
person = {'name': 'Vasya', 'surname': 'Petrov', 'age': 25} 

print(person)     # выводим данный словарь

Что произойдет после запуска следующей программы?

man = {"name": "John", "age": 30, "car": None}
print(man["age"])
Увидим на экране 30

Перед вами имеется словарь sweet

В отдельных строках распечатайте сперва значение ключа name, потом calories и напоследок id

sweet = {
    "id": "0001",
    "type": "donut",
    "name": "Cake",
    "ppu": 0.55,
    "calories": 125,
}

print(sweet['name'])      # получаем значение хранящееся под name
print(sweet['calories'])  # получаем значение хранящееся под calories
print(sweet['id'])        # получаем значение хранящееся под id

Что произойдет после запуска следующей программы?

man = {"name": "John", "age": 30, "car": None}
print(man[30])
Получим ошибку KeyError

В вашем распоряжении имеется словарь days, в котором в качестве ключей хранится номера месяца, а в качестве значения — количество дней в соответствующем месяце (будем исключать високосные года и полагать, что в феврале всегда 28 дней)

Ваша программа получает на вход номер месяца, гарантируется что это будет число в пределах от 1 до 12.

Ваша задача по введеному номеру месяца вывести количество дней

days = {
    1: 31,
    2: 28,
    3: 31,
    4: 30,
    5: 31,
    6: 30,
    7: 31,
    8: 31,
    9: 30,
    10: 31,
    11: 30,
    12: 31
}

a = int(input())  # получаем число - номер месяца(ключ для словаря)
print(days[a])    # выводим количество дней в введенном месяце(ключе словаря) дней, обращаясь по введенному ключу

Словарь относится к 

изменяемым объектам

Перед вами имеется словарь sweet

Ваша задача:

  1. создать строковый ключ weight с целым значением 230
  2. создать строковый ключ have_topping c булевым значением True
  3. изменить значение ключа name на строку SuperCake
  4. изменить значение ключа calories на целое число 350

В качестве ответа распечатайте в конце словарь sweet

sweet = {
    "id": "0001",
    "type": "donut",
    "name": "Cake",
    "ppu": 0.55,
    "calories": 125,
}

sweet['weight'] = 230         # создаем ключ и присваиваем ему значение
sweet['have_topping'] = True  # создаем ключ и присваиваем ему значение
sweet['name'] = 'SuperCake'   # присваиваем новое значение уже существующему ключу
sweet['calories'] = 350       # присваиваем новое значение уже существующему ключу

# выводим полученный словарь
print(sweet)                  

Перед вами имеется словарь sweet

Удалите из него ключи ppu и type

Затем выведите словарь sweet в качестве ответа

sweet = {
    "id": "0001",
    "type": "donut",
    "name": "Cake",
    "ppu": 0.55,
    "calories": 125,
}
del sweet['ppu']   # удаляем из словаря ключ ppu
del sweet['type']  # удаляем из словаря ключ type

# выводим полученный словарь
print(sweet)       

Что произойдет после запуска следующей программы?

man = {"name": "John", "age": 30, "car": None}
del man[30]
print(man)
Произойдет ошибка KeyError

На вход программе поступает целое число n. Вам необходимо создать словарь, который будет включать в себя ключи от 1 до n, а значениями соответствующего ключа будет значение ключа в квадрате.

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

num = int(input())    # получаем число - количество элементов словаря
numbers = {}          # создаем пустой словарь для добавления элементов с числами

# циклом проходимся по числам от 1 до num(включительно) и добавляем элементы словаря: ключ - число, значение - квадрат числа 
for i in range(1, num+1):  
    numbers[i] = i ** 2

# выводим полученный словарь
print(numbers)             

Напишите программу, которая печатает словарь alphabet, где ключи  — строчные английские символы, а значения — порядковые номера букв в алфавите начиная с 1.

Начало вашего словаря должны быть таким {«a»: 1, «b»: 2 … }

В качестве ответа распечатайте полученный словарь alphabet

Весь английский алфавит можно взять в переменной ascii_lowercase из модуля string:

from string import ascii_lowercase
print(ascii_lowercase)
alphabet = {}                  # создаем пустой словарь для добавления английского алфавита

# циклом мы в словарь добавляем элементы словаря: Ключ - английская буква, значение - её порядковый номер
for i in range(26):            
    alphabet[chr(97+i)] = i+1  # английскую букву мы получаем из таблицы аски по её id - chr(id) - возвращает букву по id в таблице аски

# возвращаем полученный словарь с буквами и их номерами
print(alphabet)                

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

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

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