# 1. Дан список строк my_list. Создать новый список в который поместить
# элементы из my_list по следующему правилу:
# Если строка стоит на нечетном месте в my_list, то ее заменить на
# перевернутую строку. "qwe" на "ewq".
# Если на четном - оставить без изменения.
# Задание сделать с использованием enumerate или range.

my_list = ['Дан', 'список', 'строк', 'my_list']
new_list = []

for index, value in enumerate(my_list):
    if index % 2:
        new_list.append(str(value)[::-1])
    else:
        new_list.append(value)

####################################################

# 2. Дан список строк my_list. Создать новый список в который поместить
# элементы из my_list у которых первый символ - буква "a".

my_list = ['qwe', 'asd', 'afr', 'lki', 'oal', 'ayu']
new_list = [value for value in my_list if value.startswith('a')]

####################################################

# 3. Дан список строк my_list. Создать новый список в который поместить
# элементы из my_list в которых есть символ - буква "a" на любом месте.

my_list = ['qwe', 'asd', 'afr', 'oop' 'lki', 'oal', 'ayu']
new_list = [some_str for some_str in my_list if 'a' in some_str]

####################################################

# 4. Дан список my_list в котором могут быть как строки (type str) так и целые числа (type int).
# Создать новый список в который поместить только строки из my_list.

my_list = ['Дан', 'список', 45, 'строка', 7]
new_list = [some_str for some_str in my_list if type(some_str) == str]

####################################################

# 5. Дана строка my_str. Создать список в который поместить те символы из my_str,
# которые встречаются в строке только один раз.

my_str = "My name is Vova. I'm 41. But I still believe in magic. EXPELLIARMUS!"
symbol_list = []
for symbol in set(my_str):
    count = my_str.count(symbol)
    if count == 1:
        symbol_list.append(symbol)

####################################################

# 6. Даны две строки. Создать список в который поместить те символы,
# которые есть в обеих строках хотя бы раз.

some_str_1 = "Some text fo str"
some_str_2 = "Text for this string"
symbol_list = [symbol for symbol in set(some_str_1) if symbol in set(some_str_2)]

symbol_list_2 = list(set(some_str_1).intersection(set(some_str_2)))

####################################################

# 7. Даны две строки. Создать список в который поместить те символы, которые есть в обеих строках,
# но в каждой только по одному разу.

some_str_1 = "Some text fo str"
some_str_2 = "Text for this string"
res_list = []

for symbol in set(some_str_1):
    count = some_str_1.count(symbol)
    count_2 = some_str_2.count(symbol)
    if count == 1:
        if count_2 == 1 and symbol in some_str_2:
            res_list.append(symbol)

for symbol in symbol_list_2:
    if some_str_1.count(symbol) == 1 and some_str_2.count(symbol) == 1:
        res_list.append(symbol)

####################################################

# 8. Описать с помощью словаря следующую структуру для конкретного человека (можно придумать):
# Фамилия
# Имя
# Возраст
# Место рождения
#     Сектор
#     Планета
#     Город
# Род занятий
#     Принадлежность
#     Должность

darth_vader = {"Фамилия": "Скайуокер",
               "Имя": "Энакин",
               "Возраст": 41,
               "Место рождения": {"Сектор": "Аркаинс",
                                  "Планета": "Татуин",
                                  "Город": "Мос Эспы"},
               "Род занятий": {"Принадлежность": "Галактическая Империя",
                               "Должность": "Владыка Ситх"}}

####################################################

# 9. Описать с помощью словаря следующую структуру (рецепт ненастоящего торта,
# придумать и указать граммы для продуктов):
# Составляющие
#     Коржи
#         Мука
#         Молоко
#         Масло
#         Яйцо
#     Крем
#         Сахар
#         Масло
#         Ваниль
#         Сметана
#     Глазурь
#         Какао
#         Сахар
#         Масло

no_sugar_cake = {"Составляющие":
               {"Коржи": {"Мука": "200гр",
                         "Молоко": "250мл",
                         "Масло": "250гр",
                         "Яйца": "3шт"},
               "Крем": {"Сахар": "БЕЗ",
                        "Масло": "200гр",
                        "Ваниль": "1 упаковка",
                        "Сметана": "3ст ложки"},
               "Глазурь": {"Какао": "100гр",
                           "Сахар": "Он вреден",
                           "Масло": "100гр"}}}
