Общий раздел

Python. Курс Yandex. Операции с множествами

Задание 1

Если вы захотите научить Анфису играть в города, ей нужно будет уметь выбирать город из множества городов, которые она знает, исключая те, что уже были названы.

Напишите функцию print_valid_cities, которая сравнит множество всех городов all_cities со множеством названных городов used_cities и:

  1. создаст множество городов, которые ещё можно использовать,
  2. напечатает такое множество на экран, разделяя города запятой.

Запустите эту функцию на примерах разных множеств и посмотрите, как она работает.

# напишите код функции print_valid_cities, которая
# принимает аргументы all_cities и used_cities
def print_valid_cities(allCities, useCities):
    notUsedCities = allCities.difference(useCities)
    print(','.join(notUsedCities))

all_cities = set([
    'Абакан',
    'Астрахань',
    'Бобруйск',
    'Калуга',
    'Караганда',
    'Кострома',
    'Липецк',
    'Новосибирск'
])

used_cities = set(['Калуга', 'Абакан', 'Новосибирск'])

print_valid_cities(all_cities, used_cities)

Вывод:

Липецк,Караганда,Кострома,Бобруйск,Астрахань

Задание 2

Научите Анфису помогать вам с покупками в магазине.

Вы хотите приготовить два блюда и рассказываете Анфисе, какие для них нужны продукты.

Напишите функцию print_shopping_list(), которая будет получать два списка продуктов —recipe1 и recipe2, и печатать на экран полный список покупок.

Элементы в списке не должны повторяться.

def print_shopping_list(pizza, salad): # напишите здесь свою функцию
    pizza_set, salad_set =  set (pizza), set (salad)
    shopping_list= pizza_set.union(salad_set)
    print (','.join(shopping_list))

pizza = ['мука', 'помидоры', 'шампиньоны', 'сыр', 'оливковое масло']
salad = ['огурцы', 'перцы', 'помидоры', 'оливковое масло', 'листья салата']

print_shopping_list(pizza, salad)

Вывод:

сыр,огурцы,мука,помидоры,оливковое масло,перцы,шампиньоны,листья салата

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