Portál AbcLinuxu, 10. května 2025 22:38

Dotaz: python a formátování textu - programátorská challenge :-)

26.9.2019 19:46 pupicek
python a formátování textu - programátorská challenge :-)
Přečteno: 476×
Odpovědět | Admin
Zdarec palec, potřeboval bych v pythonu, nejlépe přes RE kvůli rychlosti, upravit text řádek po řádku podle pravidel, které se uplatňují pouze na řádky s jedním X nebo na prázdné řádky. Pro lepší pochopení přikládám 3 příklady požadovaného chování. Díky moc za pomoc, s pythonem teprve začínám tak to moc nedávám. Vubec nevím kde vůbec začít. P.

Priklad 1. (jen řádky s X)
----- input -----
   X
sad asdasdas asdasd
X
ad asd asd sad ad
  X
X
asasdsa
asds asda
sadas asda daa
  X
----- end -----


----- požadovaný output -----
sad asdasdas asdasd
X
X
X
ad asd asd sad ad
X
X
X
asasdsa
asds asda
sadas asda daa
----- end -----



Priklad 2. (jen prázdné řádky)
----- input -----

sad asdasdas asdasd



ad asd asd sad ad

asasdsa
asds asda

sadas asda daa

----- end -----


----- požadovaný output -----
sad asdasdas asdasd

ad asd asd sad ad

asasdsa
asds asda

sadas asda daa
----- end -----





Priklad 3. (nesložitější - kombinace s prázdnými řádky a s řádky X)
----- input -----
X

sad asdasdas asdasd
X
    X

X

ad asd asd sad ad
X
  X

asasdsa
asds asda
X
  X

X
     X
X
sadas asda daa
X

X
----- end -----

----- požadovaný output -----
sad asdasdas asdasd
X
X
X
ad asd asd sad ad
X
X
X
asasdsa
asds asda
X
X
X
sadas asda daa
----- end -----


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Beda0 avatar 26.9.2019 20:25 Beda0 | skóre: 29
Rozbalit Rozbalit vše Re: python a formátování textu - programátorská challenge :-)
Odpovědět | | Sbalit | Link | Blokovat | Admin
To už začal školní rok?

Možností řešení je samozřejmě hromada...

Při triviálním řešení (bez ohledu na rychlost nebo spotřebu paměti) bych začal tím, že rozdělím text do řádků - použij google

Na každý řádek bych pak použil regulární výraz, pokud víš co to je, nebo ho rozdělil na písmena a prohledal jednotlivě písmena - použij google (Pokud nevíš co je regulární výraz, tak se to nauč, bude se ti to hodně hodit)

+ detekce prázdných řádků - a tady záleží na zdroji -> pokud seš si 100% jistý, že to bude Linux, tak \n, jinak na to jsou opět python funkce a knihovny - použij google
27.9.2019 15:02 pupicek
Rozbalit Rozbalit vše Re: python a formátování textu - programátorská challenge :-)
>>> To už začal školní rok? tvl. jak rád bych znova dělal školní úkoly, už je to fakt dávno :-)

Procházení texťáku řádek po řádku, detekci prázných řádků nebo řádků s X umím, ale už nevím jak napsat podmínku např. že do konce soubotu jsou jen řádky s X nebo jen prázdné řádky.

27.9.2019 12:48 Sulo
Rozbalit Rozbalit vše Re: python a formátování textu - programátorská challenge :-)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Čo sa týka rýchlosti Regulárných výrazov, tak ti odporúčam spraviť dve verzie jednu s RE a druhú bez. A porovnať ktorá je rýchlejšia v tomto prípade.

Lebo RE majú schovanú celú zložitosť do funkcie re.compile( ".." ), ktorá pre zložité výrazy môže trvať celkom dlho.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.