#!/usr/bin/env python # coding: utf-8 # # Web-scraping: сбор данных из баз данных и интернет-источников # # *Алла Тамбовцева, НИУ ВШЭ* # # ## Домашнее задание 1 # # *Задание выполняется самостоятельно. При любых нетривиальных совпадениях в решениях задач все вовлечённые домашние работы будут оценены на 0 баллов.* # # ### Задача 1 (6 баллов) # # Дан список фразовых глаголов `verbs`: # In[1]: verbs = ["turn on", "turn off", "take off", "go on", "put off", "take on", "put on", "let off", "look up", "run away"] # a. (2 балла) Сохраните в список `verbs_on` глаголы с предлогом `on`, а в список `verbs_off` – глаголы с предлогом `off`. # In[ ]: ### YOUR CODE HERE # b. (2 балла) Напишите код, который выводит на экран сообщение `"ON > OFF"`, если количество элементов в списке `verbs_on` больше, чем количество элементов в списке `verbs_off`, и сообщение `"ON <= OFF"` – если иначе. # In[ ]: ### YOUR CODE HERE # c. (2 балла) Используя список `verbs_off` и методы на строках, выведите на экран сообщение `"Let off, put off, take off, turn off are sorted off-verbs."` # In[ ]: ### YOUR CODE HERE # ### Задача 2 (2 балла) # # Дана строка `song`: # In[7]: song = "Every drop of rain That falls in Sahara Desert says it all..." # Сохраните в переменную `words` список слов из этой строки, считая, что все слова должны быть набраны строчными (маленькими) буквами. # In[ ]: ### YOUR CODE HERE # ### Задача 3 (3 балла) # # У питона Пети в записной книжке хранятся полные имена друзей и знакомых из разных стран. Записная книжка представляет собой словарь: # In[8]: pythons = {"королевский питон Рональд" : "Уганда", "карликовый питон Антониа" : "Ангола", "сетчатый питон Асиф" : "Бангладеш", "зеленый питон Оливер" : "Австралия", "тиморский питон Николау" : "Восточный Тимор", "аметистовый питон Харрисон" : "Австралия", "тигровый питон Мэйли" : "Китай", "оливковый питон Руби" : "Австралия", "белогубый питон Арис" : "Индонезия", "эфиопский питон Оника" : "Мозамбик"} # Питон Петя хочет съездить в Австралию, и поэтому хочет вывести на экран имена тех друзей и знакомых, которые живут в Австралии (чтобы потом выбрать, у кого остановиться). Напишите программу, которая выводит на экран полные имена питонов из Австралии. # # Ожидаемый вывод на экран (порядок записей может отличаться): # # зеленый питон Оливер # оливковый питон Руби # аметистовый питон Харрисон # In[9]: ### YOUR CODE HERE # ### Задача 4 (3 балла) # # Дан список с названиями файлов: # In[10]: files = ['file 1.txt', 'file 2.txt', 'file 6.txt', 'file 9.txt'] # Напишите программу, которая переименовывает файлы в списке ‒ заменяет все пробелы на нижнее подчеркивание – и выводит обновленный список `files` на экран. # # **Пример** # # На входе: # # files = ['file 1.txt', 'file 2.txt', 'file 6.txt', 'file 9.txt'] # # На выходе: # # files = ['file_1.txt', 'file_2.txt', 'file_6.txt', 'file_9.txt'] # # Подсказка: вам потребуется метод `.replace()` для строк. # In[11]: ### YOUR CODE HERE # ### Задача 5 (3 балла) # # Создайте какие-нибудь две строки и сохраните их в переменные `s1` и `s2`. Разбейте первую строку на слова и добавьте в конец получившегося списка вторую строку целиком. Выведите на экран получившийся список. # # **Пример** # # На входе: # # s1 = "Hello Brave New World" # s2 = "This is a test" # # На выходе: # # ['Hello', 'Brave', 'New', 'World', 'This is a test'] # ### Задача 6 (3 балла) # # Дан словарь с информацией по пользователям: # In[16]: info = {"user00" : {"name" : "Ann", "age" : "16", "hobby" : ["hiking", "bouldering", "skating"], "languages" : {"English" : "advanced", "Spanish" : "intermediate"}}, "user01" : {"name" : "Nick", "age" : "20", "hobby" : ["swimming", "gaming"], "languages" : {"French" : "elementary"}}} # Используя элементы словаря (извлекая их из него явно, с помощью кода), выведите на экран сообщение: # # Ann is 16. She likes hiking, bouldering, skating. Her English is # at an advanced level. # Подсказка: предварительно сохраните все необходимые элементы в переменные, а потом подставьте их в текстовый шаблон через f-строки (см.ниже). # In[22]: age = 20 smth = "cats" lang = "Japanese" adj = "intermediate" res = f"Ann is {age}. She likes {smth}. Her {lang} is at an {adj} level." print(res) # In[ ]: ### YOUR CODE HERE