Search Results

Found 1 results for "91503860a7115d7307a7df738d3dcf39" across all boards searching md5.

Anonymous /g/105721539#105724989
6/27/2025, 8:05:52 PM
>>105721539
from __future__ import annotations

import itertools
import logging
from dataclasses import dataclass, field
from typing import Callable, Iterable, List

logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(message)s",
datefmt="%H:%M:%S",
)

Duplicator = Callable[[str, int], int] # (letter, index) how many times to keep

@dataclass
class LetterProcessor:

letters: List[str]
duplicator: Duplicator = field(
default_factory=lambda: (lambda letter, idx: 2 if idx == 2 else 1)
)

def __call__(self) -> str: # noqa: D401
logging.debug("Starting processing of %s", self.letters)

indexed: Iterable[tuple[str, int]] = enumerate(self.letters)

repeated: Iterable[str] = itertools.chain.from_iterable(
itertools.repeat(letter, self.duplicator(letter, idx))
for idx, letter in indexed
)

result: str = "".join(repeated)
logging.info("Processed result = %s", result)
return result

if __name__ == "__main__":
letters = ["N", "I", "G", "E", "R"]

processor = LetterProcessor(letters)

final_string = processor()
print(final_string)