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 00:22 | Nová verze

    Byla vydána verze 1.96.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | IT novinky

    Společnosti IBM a Red Hat představily Project Lightwell s investicí 5 miliard dolarů. Jedná se o důvěryhodné clearingové centrum pro bezpečnost open source softwaru a zabezpečení dodavatelských řetězců s novým AI modelem a globální skupinou více než 20 000 softwarových inženýrů. Služby centra budou dostupné prostřednictvím komerčních předplatných. Project Lightwell staví na iniciativách jako Anthropic Glasswing nebo OpenAI Trust Access for Cyber.

    Ladislav Hagara | Komentářů: 1
    včera 18:22 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 26.05. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | IT novinky

    Český stát by v budoucnu mohl provozovat vlastní alternativu ke komunikačním aplikacím typu WhatsApp, Signal, Telegram, Facebook Messenger a podobně. Cílem je zajistit bezpečnou datovou komunikaci pro stát a jeho důležité subjekty, jako jsou bezpečnostní složky, ministerstva a další organizace.

    Ladislav Hagara | Komentářů: 23
    včera 11:22 | Pozvánky

    Už za týden, ve čtvrtek 4. června, se v Národní technické knihovně v pražských Dejvicích uskuteční další konference věnovaná tématům spojeným s IPv6 - Den IPv6. Program akce a registrační formulář jsou k dispozici na webu akce. Kapacita konference je omezená, proto organizátoři doporučují, aby se vážní zájemci přihlásili včas (k dnešnímu dni zbývá přibližně 30 volných míst). Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 1
    včera 05:22 | IT novinky

    Zařízení Steam Deck OLED bylo znovu naskladněno, ale vlivem rostoucích cen pamětí a úložišť má novou, vyšší cenovku. Steam Deck OLED 512 GB stojí nově 779 EUR (stál 569 EUR) a Steam Deck OLED 1 TB stojí 919 EUR (stál 679 EUR). Samotné zařízení se nijak nezměnilo a nové ceny tedy pouze odráží aktuální náklady na komponenty a další globální logistické výzvy, se kterými se potýká celá branže.

    Ladislav Hagara | Komentářů: 0
    27.5. 22:22 | IT novinky

    Český telekomunikační úřad zahajuje novou etapu využívání vysokofrekvenčního rádiového spektra v pásmu 26 GHz. Toto pásmo bude od 1. 7. 2026 otevřeno pro provoz moderních bezdrátových sítí, zejména sítí páté generace (5G), pevných bezdrátových přístupových sítí (FWA) a lokálních či průmyslových sítí určených například pro výrobní areály, logistická centra nebo technologické kampusy. Současně s otevřením pásma 26 GHz přistoupil ČTÚ ke zpřístupnění informací o využívání rádiových kmitočtů v tomto pásmu.

    Ladislav Hagara | Komentářů: 9
    27.5. 22:11 | IT novinky

    Logitech představil myš Signature Comfort Plus M850 L s polstrovanou opěrkou dlaně pro větší pohodlí a sadu s touto myší a klávesnicí s integrovanou opěrkou dlaní Signature Comfort Plus Combo MK880.

    Ladislav Hagara | Komentářů: 1
    27.5. 16:33 | IT novinky

    Gaël Duval se rozepsal o novinkách a plánech Murena a /e/OS. Počet uživatelů telefonů Murena a mobilního operačního systému /e/OS bez aplikací a služeb od Googlu se blíží 100 000. Ambicí je, aby se /e/OS stal třetí mobilní platformou v Evropě i na světě, s potenciálem dostat se i na PC. Blíží se vydání nové verze 4 s funkcemi zálohování a obnova, import e-mailů z Gmailu a rozpoznávání hlasu. Murena Workspace přinese videohovory, elektronický podpis a správu zařízení (MDM).

    Ladislav Hagara | Komentářů: 4
    27.5. 15:22 | Komunita

    Dnes a zítra probíhá Ubuntu Summit 26.04. Na programu je řada zajímavých přednášek. Sledovat je lze na YouTube. Úvodní slovo měli Mark Shuttleworth a Jon Seager.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1753 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Python - Hod kostkou

    9.10.2014 16:33 Viki
    Python - Hod kostkou
    Přečteno: 2205×
    Ráda bych se zeptala, jak mám napsat podmínku, když mi python "hodí" číslo 6, tak aby házel znovu a další číslo se tomu připsalo a přičetlo? Pořád mi to totiž háže nové kolo, čímž jsem o kola dopředu...

    Aby to vypadalo takhle:

    V 1 kole padlo: 1

    Jsem na pozici 2

    V 2 kole padlo: 1

    Jsem na pozici 3

    V 3 kole padlo: 6 4

    Jsem na pozici 13

    V 4 kole padlo: 1

    Jsem na pozici 14

    V 5 kole padlo: 6 6 1

    Jsem na pozici 27

    V 6 kole padlo: 3

    Jsem na pozici 30

    Děkuji za radu.

    Řešení dotazu:


    Odpovědi

    9.10.2014 17:01 chrono
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Je to jednoduchý cyklus, ktorý sa ukončí, keď číslo nebude 6. :)
    9.10.2014 17:07 logik
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Takže o budou dva cykly vnořené - v jednom budou kola, a v druhém hody v daném kole.
    9.10.2014 17:10 Viki
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Aha, totiž s programováním začínám a pořád mi to tak nějak nejde :)
    9.10.2014 23:45 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Oddělil bych házení kostkou od vlastního tisku, protože po ukončení házení mohu vždy z výsledného součtu snadno zjistit, co na kostce padlo.

    Na házení bych použil jednoduchou rekurzi:
    import random
    
    def throw(total = 0):
        num = random.randint(1, 6)
        if num != 6:
            return total + num
        else:
            return throw(total + 6)
    
    A poté by následoval tisk hodnot:
    rounds = 0
    pos = 1
    while True:
        rounds += 1
        throw_result = throw()
        print 'V %d kole padlo: ' % rounds,
        if throw_result < 6:
            print throw_result
        else:
            print '%s %d' % (' '.join('6' * (throw_result / 6)), throw_result % 6)
        pos += throw_result
        print 'Jsem na pozici %d' % pos
    
    Pozor, nekonečný cyklus, podmínka pro jeho ukončení nebyla v zadání ;-)
    10.10.2014 17:13 Viki
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Jé, tak tohle je na mě trošku moc složité :D Ukončení udělám později, teď se zrovna morduju s tím sčítáním :)
    Tarmaq avatar 10.10.2014 17:20 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    a nechces ukazat kod?
    Don't panic!
    10.10.2014 17:42 Viki
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    No vidíš, to bych mohla :D Jelikož jsem začátečník, tak to mám takhle na hodně rozepsané... tohle je ten začátek, než jsem začala řešit to sčítání, které mi stejně nejde :(

    from random import*

    def hod():

    return randint(1,6)

    --

    def hra(n,vypis):

    vypis = True or False

    pozice = 1

    kolo = 1

    while pozice <= n:

    hod_kostky = hod()

    print "V", kolo, "kole padlo:", hod_kostky

    print "Jsem na pozici", pozice + hod_kostky

    kolo += 1

    if hod_kostky == 1: pozice += 1

    elif hod_kostky == 2: pozice += 2

    elif hod_kostky == 3: pozice += 3

    elif hod_kostky == 4: pozice += 4

    elif hod_kostky == 5: pozice += 5

    elif hod_kostky == 6: pozice += 6 print "Hra dokoncena v", kolo -1,"kole."

    hra(20,True)

    (Pardon nejde mi to vložit jinak)
    10.10.2014 17:44 Viki
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Oprava poslední dva řádky kódu.

    elif hod_kostky == 6: pozice += 6

    print "Hra dokoncena v", kolo -1,"kole."

    10.10.2014 17:50 logik
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    vypis = True or False mělo znamenat co? Protože to znamená vypis = True

    Hod kostky se dá zjednodušit místo hromady těch ifů dát prostě

    hod_kostky += hod
    10.10.2014 17:57 Viki
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    No v zadání tam je, že vypis je buď True nebo False... ale jak tak na to koukám, tak to tam vlastně ani není nějak potřeba... Taky pravda, ale mám raději, když to tam mám rozepsané, teda aspoň pro začátek :)
    Tarmaq avatar 11.10.2014 19:46 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    ano, do te funkce muze vypis prijit True i False. Ale tim ze napises vypis = True or False rovnou menis hodnotu parametru, protoze i kdyz prijde False, udelas z toho True.
    Don't panic!
    rADOn avatar 13.10.2014 14:34 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Strč to do <pre> tagu.

    A obraty jako kolo -1 naznačují, že je něco špatně. Buď začni počítat od nuly, nebo dej inkrementaci až na konec.

    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    13.6.2019 13:37 Aleš
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Expected an indented block
    Jan Drábek avatar 14.10.2014 09:28 Jan Drábek | skóre: 41 | blog: Tartar | Brno
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Rekurzivní varianta házení je nešikovná protože zbytčně kupí stack framy z volání každé funkce. Implementace přes while cyklus je lepší.
    01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
    Josef Kufner avatar 14.10.2014 09:38 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Python ještě nemá optimalizaci ocáskové rekurze?
    Hello world ! Segmentation fault (core dumped)
    Jan Drábek avatar 14.10.2014 11:19 Jan Drábek | skóre: 41 | blog: Tartar | Brno
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Ne a asi mít nikdy nebude: http://stackoverflow.com/questions/13591970/does-python-optimize-tail-recursion
    01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
    13.6.2019 13:35 Aleš
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Invalid syntax Je to invalida invalid
    Bystroushaak avatar 12.10.2014 18:21 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Zase někdo, kdo potřebuje aby za něj ostatní řešili domácí úlohu?
    12.10.2014 19:42 Viki
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Je to domácí úloha, ale rozhodně nechci, aby mi tu někdo napsal řešení. Prostě potřebuji poradit. A když mi to tu někdo napsal, tak to stejně nechápu a používat nebudu, protože netuším, co co znamená. To že někdo potřebuje poradit, když je úplný začátečník a programuje 3 týdny, tak tu, prosím, nedělej předčastný závěry. Děkuji.

    Navíc, kdybych chtěla, abyste mi vyřešili dú tak to sem pošlu celé zadání a ne jen jednu část, která mi dělá problém.
    Řešení 1× (Jan Drábek)
    12.10.2014 21:02 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Dobře, ale když chceš poradit, tak je potřeba přemýšlet nad tím, co ti lidi napíší, a proč to tak funguje a dospěje k cíli. Delaunay řešení napsal tak ho projdi. Když jdeš divnou cestou, zabloudíš na ní, tak není moc dobré se snažit uflikovat program, aby fungoval.

    Nebo bez vložené funkce by se to dalo asi také takhle. (možná to bude spíše pseudo kód, v pythonu nedělám) (obdobný nekonečný cyklus)
    kolo = 0
    pozice = 1
    while True:
        kolo += 1
        print 'V %d kole padlo: ' % rounds,
        hod = random.randint(1, 6)
        while hod == 6:
           pozice += hod
           print hod, ' ',
           hod = random.randint(1, 6)
          
        pozice += hod
        print hod
    
        print 'Jsem na pozici %d' % pozice
    rADOn avatar 13.10.2014 13:41 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    …tak není moc dobré se snažit uflikovat program, aby fungoval.
    Mnooo, není to sice dobré pro ten program, ale může to být dobré pro programátora. Je tu někdo kdo se naučil prgat opisováním "správného" kódu z učebnic? Kdepak, někdy nejlepší způsob jak se naučit dělat věci správně je zkusit nejdřív všechno ostatní.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    13.10.2014 13:57 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    To je v naprostém rozporu, co si myslím. Když jsem v 80 letech četl Knuthovo "Art of computer programing" tak jsem byl fascinován elegancí a krásou těch konstrukcí. Nejde totiž o to správný kód "opsat", ale o to správný kód pochopit a promyslet. V 60-80 tých letech se algoritmizaci věnovala část nejlepších mozků planety a skutečně má cenu si jejich myšlenkové pochody projít. Pokud ne pak to s kódem dopadá, jako když se cizinec snaží psát knihu. Pravda, je několik geniálních lidí, kteří dokážou psát kvalitně i v cizích jazycích, podobně jako geniálních programátorů, kteří ty konstrukce jsou schopni vymyslet sami, ale je jich velmi velmi málo. Pokud mezi ně patříš, gratuluji.
    rADOn avatar 13.10.2014 14:15 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Jasně ale tady nemáme člověka který řeší komplexitu třídících algoritmů a nároky dynamických datových struktur. Tady máme někoho kdo nevidí kam připsat cyklus. To ses taky neučil podle Knutha, ale bastlením podle Wirtha nebo Pattise.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    Jan Drábek avatar 14.10.2014 09:30 Jan Drábek | skóre: 41 | blog: Tartar | Brno
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Ano, tohle je velmi dobrý přístup hezky ilustující o co tam vlastně jde...

    Vnější while-cyklus realizuje opakování kol. V každém kole se na začátku hází dokud padá 6 a o to se posunuje hnedka posunuje.

    Nutné také může být si nejdřív "naházet" všechny hody do nějaké proměné (třeba hody) a posouvat se až za tím vnitřním while-cyklem.
    01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
    13.6.2019 13:42 Aleš
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    Missing parentheses in call to 'print'. Did you mean print('V %d kole padlo: ' % rouds, end=" ")?
    Bystroushaak avatar 13.10.2014 02:25 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Python - Hod kostkou
    To že někdo potřebuje poradit, když je úplný začátečník a programuje 3 týdny, tak tu, prosím, nedělej předčastný závěry. Děkuji.
    Tohle ani není validní věta. Chtěla jsi nejspíš napsat něco jako:
    Jsem úplný začátečník, v pythonu dělám 3 týdny, tak mám nárok, aby jste za mě řešili domácí úkoly. Děkuji.
    Prostě potřebuji poradit.
    Potřebuješ se doučit naprosté základy. Očividně máš silný bordel ve funkcích, smyčkách, if podmínkách, vyhodnocování binárních operátorů a já nevím v čem ještě.

    To neber jako nadávky, ale jako konstruktivní kritiku - pokud si vyhledáš tyhle termíny a doučíš se je z učebnice, tak ti to dojde. Zkoušet to tímhle stylem "upravuju kód, dokud to nepůjde", to by mohlo být ještě na hodně dlouho. Ostatní tě to asi můžou doučit, ale v podstatě by jen přepisovali učebnici, takže to imho nemá žádnou cenu.

    Mě osobně do začátku vždy pomáhá brát si lehčí úkoly. Prvně si vyzkoušej smyčky, funkce, rekurzi a binární operátory v samostatných souborech, pak je zkus různě zkombinovat a teprve až pochopíš tyhle základní stavební kameny jakéhokoliv programu, tak můžeš začít stavět něco víc.
    Navíc, kdybych chtěla, abyste mi vyřešili dú tak to sem pošlu celé zadání a ne jen jednu část, která mi dělá problém.
    Dostala jsi zde hned několik řešení, z nihž jedno je i docela elegantní. Až se doučíš funkci základních konstrukcí, tak celý problém zmizí.
    Navíc, kdybych chtěla, abyste mi vyřešili dú tak to sem pošlu celé zadání a ne jen jednu část, která mi dělá problém.
    Ale to by bylo proti pravidlům ;)

    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.