abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 15:22 | IT novinky

    Ve věku 91 let zemřel izraelský informatik Ja'akov Ziv, spolutvůrce bezztrátových kompresních algoritmů LZ77, LZ78 a LZW (Lempel–Ziv–Welch).

    Ladislav Hagara | Komentářů: 0
    dnes 11:00 | IT novinky

    Byla představena nová Arduino deska Arduino UNO R4 s 32bitovým MCU RA4M1 (Arm Cortex-M4). Desku lze zatím získat pouze v rámci early access programu.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    včera 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 29
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 11
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 335 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: Python, program na variace

    3.10.2010 20:28 Milan Horacek
    Python, program na variace
    Přečteno: 924×
    Dobry den,

    nevi prosim nekdo kde bych nasel, anebo je nekdo schopny napsat v pythonu nasledujici program:

    1) Program bude generovat 8-miste retezce (co radek to retezec)

    2) Retezce budou obsahovat pouze znaky a-z (mala pismena) a 0-9 (cisla)

    3) V kazdem retezci se bude vyskytovat prave jedno cislo, zbytek budou male znaky

    4) Program v libovolnem poradi vygeneruje VSECHNY mozne retezce splnujici body 1-3

    Napadlo me to nejdriv resit tak, ze si vytvorim program na generovani permutaci bez opakovani s tim, ze budu generovat osmice z prvku a-z a 0-9 a kazdy vygenerovany retezec pote otestuji na podminku 3 a v pripade uspechu ho vypisu.

    Myslite, ze takto by to slo udelat?

    Potreboval bych tento problem vyresit v Pythonu, ale me programatorske schopnosti jsou nedostatecne. Nasla by se nejaka dobra duse, ktera by v ramci procviceni se v pythonu dany problem vyresila? Byl bych velice vdecny.

    Jeste poznamka, nejedna se o zadani zadneho skolniho projektu, pouze se s kamaradem nemuzeme shodnout kolik takovych retezcu existuje a timto zpusobem si to chceme programove overit.

    Odpovědi

    3.10.2010 20:52 chrono
    Rozbalit Rozbalit vše Re: Python, program na variace
    Spočítať to je oveľa jednoduchšie, ako urobiť program. :)
    3.10.2010 21:01 Milan Horacek
    Rozbalit Rozbalit vše Re: Python, program na variace
    Na to jsem prave taky prisel, proto pisu sem:) Ten program bych potreboval jak pro overeni vysledku tak pro inspiraci a dalsi upravy.
    3.10.2010 20:53 Milan Horacek
    Rozbalit Rozbalit vše Re: Python, program na variace
    Zapomnel jsem tam jeste napsat jednu podstatnou podminku. Znaky se v ramci retezce nesmi opakovat.
    4.10.2010 07:31 Petr Drlik | skóre: 26 | Bernartice nad Odrou
    Rozbalit Rozbalit vše Re: Python, program na variace
    V pythonu nedelam, ale umysl generovat neco a potom kontrolovat zdali, je scestny. Ja bych to pojal tak, ze bych generoval osmice znaku postupne. Prvni znak napr. cislo 0 a dalsi a, potom b atd. V podmince generovani kontrola na vyskyt pismena, ktere ale uz dopredu znam. Nedovedu si ale predstavit tu radu retezcu(jsem uz hodne, hodne dlouho ze skoly). Jen nevim, jak by to splnovalo podminku o libovolnem poradi. Potom se ale domnivam, ze zadavatel musel vedet, ze najiti vsech retezcu timto zpusobem by byla sysifovska prace. Ke konci generovani by trvalo nekonecne dlouho, nez by narazil na retezec, ktery jeste vygenerovan neni.
    Kdyby se bříza nestyděla, tak hoří i pod vodou !
    4.10.2010 10:52 NdrU | skóre: 10
    Rozbalit Rozbalit vše Re: Python, program na variace
    Není potřeba nic kontrolovat. Můžeme vzít množinu písmen a-z (python má přímo datový typ set) a v sedmi zanořených for cyklech vždy vzít jedno písmeno z množiny, přidat ho do slova, a vytvořit novou množinu, která bude menší o to konkrétní písmeno. Přes tuto novou množinu bude iterovat další for a tak dále (případně by se to dalo samozřejmě udělat rekurzí, takhle je zřejmější, jak to funguje).
    V těle posledního foru by se potom na všechna možná místa vzniklého slova vložila čísla 0-9 (což si vyžádá nejspíš další dva fory).
    4.10.2010 11:44 chrono
    Rozbalit Rozbalit vše Re: Python, program na variace
    Nechce sa mi to skúšať, ale podľa mňa by takéto generovanie tých reťazcov trvalo strašne dlho.
    4.10.2010 11:46 l4m4
    Rozbalit Rozbalit vše Re: Python, program na variace
    To je jedno. Bude to trvat věčnost, protože možností je 9 (vyberu číslo) * 8 (vyberu polohu čísla) * 26^7 (do zbytku umístím libovolně a-z), což je něco přes půl bilionu.
    4.10.2010 14:40 chrono
    Rozbalit Rozbalit vše Re: Python, program na variace
    Tých reťazcov bude o niečo menej. Síce je tých čísel 10 a nie len 9, ale asi si si nevšimol tú doplňujúcu informáciu, že sa znaky nesmú opakovať (ale aj tak bude tých možností veľmi veľa).
    4.10.2010 14:47 l4m4
    Rozbalit Rozbalit vše Re: Python, program na variace
    Teda, ať to čtu, jak to čtu, v
    1) Program bude generovat 8-miste retezce (co radek to retezec)

    2) Retezce budou obsahovat pouze znaky a-z (mala pismena) a 0-9 (cisla)

    3) V kazdem retezci se bude vyskytovat prave jedno cislo, zbytek budou male znaky
    žádnou podmínku o neopakování nevidím.
    4.10.2010 14:48 chrono
    Rozbalit Rozbalit vše Re: Python, program na variace
    4.10.2010 18:20 l4m4
    Rozbalit Rozbalit vše Re: Python, program na variace
    Aha. V tom případě je jich 10 * 8 * 26!/19!, což je něco přes čtvrt bilionu...
    4.10.2010 16:54 detto
    Rozbalit Rozbalit vše Re: Python, program na variace
    A čo itertools ? Konkrétne permutations() a combinations().

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.