Sobes.tech
Middle+
36

"""Schrijf code die ruwe tekst doorzoekt op links en deze sorteert volgens bepaalde regels. De lijst met links die wordt geretourneerd mag geen duplicaten bevatten. De sorteerrichtlijnen zijn als volgt: - Prioriteit 1: Eerst de eerste gevonden links in de hoeveelheid self.first_extracted_links - Prioriteit 2: Daarna links naar cloudschijven en documenten (Yandex Disk, etc.) - Prioriteit 3: Vervolgens links naar bestanden (met extensies .exe, .pdf, .rar, etc.) - Prioriteit 4: De overige links gesorteerd van lang naar kort Houd ook rekening met de limiet op het aantal links en implementeer een contextmanager. Je kunt bijvoorbeeld in [link] uitvoeren. Samenvatting: - Er wordt 30 minuten gegeven voor uitvoering - Schrijf functies apply, process, functies voor de contextmanager - Alle tests moeten slagen - Tests mogen niet worden gewijzigd - Import's mogen worden gebruikt - Na het schrijven kun je het lokaal uitvoeren en indien nodig corrigeren regex voor het zoeken naar links: (?: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" )) # Deze methode uitbreiden of herschrijven def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Maximale aantal links dat wordt geretourneerd self.max_links = max_links # Aantal links dat wordt geëxtraheerd voor de eerste voorwaarde self.first_extracted_links = first_extracted_links # Lijst van domeinen die als cloud worden beschouwd voor de tweede voorwaarde self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Schrijf deze methode, die een deel van de tekst toevoegt die later geanalyseerd moet worden def apply(self, text) -> "LinkExtractor": ... return self

Bedrijven waar gevraagd werd
АВ Софт