Sobes.tech
Middle+
34

"""Napišite kod koji izvlači linkove iz sirovog teksta i ih sortira prema određenim pravilima. Lista linkova koja će biti vraćena ne smije sadržavati duplikate. Pravila sortiranja su sljedeća: - Prioritet 1: Prvo se uzimaju prvi otkriveni linkovi u količini self.first_extracted_links - Prioritet 2: Zatim linkovi na cloud diskove i dokumente (Yandex Disk itd.) - Prioritet 3: Zatim linkovi na datoteke (sa ekstenzijama .exe, .pdf, .rar itd.) - Prioritet 4: Preostali linkovi sortirani od dužeg prema kraćem nizu Također, treba uzeti u obzir ograničenje na broj linkova i implementirati kontekstni menadžer. Na primjer, može se pokrenuti u [link]. Sažetak: - Daje se 30 minuta za izvršenje - Napisati funkcije apply, process, funkcije za kontekstni menadžer - Sve testove treba proći - Testovi se ne smiju mijenjati - Mogu se koristiti importi - Nakon pisanja, može se provjeriti pokretanjem lokalno i po potrebi ispraviti regex za traženje linkova: (?:https?|ftp):\/\/(?:[a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(?::\d+)?(?:\/[^\s()]*)?""" class LinkExtractor: DEFAULT_CLOUDS = frozenset(( "drive.google.com", "mediafire.com", "yadi.sk", "disk.yandex.ru", "cloud.mail.ru", "mega.nz" )) # Možete proširiti ovu metodu ili je prepisati def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Maksimalni broj linkova koji će se vratiti self.max_links = max_links # Broj linkova koji se izvlače za prvi uvjet self.first_extracted_links = first_extracted_links # Lista domena koje se smatraju cloudovima za drugi uvjet self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Napisati ovu metodu, koja dodaje dio teksta za analizu def apply(self, text) -> "LinkExtractor": ... return self

Компаније где су питане
АВ Софт