abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:11 | Nová verze

    KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 8.0.0 (𝕏). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

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

    Google zveřejnil seznam 195 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 18. března do 2. dubna. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů pro velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.

    Ladislav Hagara | Komentářů: 0
    včera 08:00 | Nová verze

    Mixxx (Wikipedie), tj. svobodný software určený (nejenom) pro diskžokeje, byl vydán v nové major verzi 2.4.0. Přehled novinek i s videi v oficiálním oznámení. Aktualizována byla také uživatelská příručka. Oficiální flatpak je k dispozici na Flathubu.

    Ladislav Hagara | Komentářů: 0
    23.2. 18:44 | IT novinky

    Softwarová společnost Avast musí ve Spojených státech zaplatit pokutu 16,5 milionu dolarů (více než 386 milionů Kč) a přestat prodávat data o uživatelích k reklamním účelům. V tiskové zprávě to ve čtvrtek oznámila americká Federální obchodní komise (FTC). Společnost Avast se sídlem v Británii se podle FTC nedovoleného jednání dopouštěla přes svou českou součást Jumpshot.

    Ladislav Hagara | Komentářů: 13
    23.2. 14:33 | Zajímavý článek

    Andrey Konovalov popisuje, jak se mu podařilo na notebooku Lenovo ThinkPad X1 Carbon 6. generace povolit řadič xDCI, aby umožnil emulaci libovolných USB zařízení.

    Fluttershy, yay! | Komentářů: 1
    23.2. 10:00 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.2 Kereru. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    23.2. 09:00 | Nová verze

    MindForger, tj. poznámkový blok, markdown editor a nástroj pro management znalostí, byl vydán v nové major verzi 2.0.0. Přehled novinek na GitHubu. Hlavní novinkou je integrace s LLM (OpenAI).

    Ladislav Hagara | Komentářů: 0
    23.2. 08:00 | IT novinky Ladislav Hagara | Komentářů: 7
    22.2. 21:22 | Nová verze

    Bylo vydáno Ubuntu 22.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 22.04 LTS s kódovým názvem Jammy Jellyfish. Stejně tak Kubuntu 22.04.4 LTS, Ubuntu Budgie 22.04.4 LTS, Ubuntu MATE 22.04.4 LTS, Lubuntu 22.04.4 LTS, Ubuntu Kylin 22.04.4 LTS, Ubuntu Studio 22.04.4 LTS a Xubuntu 22.04.4 LTS. Pro ARM servery je nově k dispozici ISO arm64+largemem.

    Ladislav Hagara | Komentářů: 0
    Kolik máte nálepek na víku notebooku?
     (17%)
     (60%)
     (5%)
     (4%)
     (5%)
     (9%)
    Celkem 381 hlasů
     Komentářů: 14, poslední včera 17:01
    Rozcestník

    Dotaz: Python - konceni programu uzivatelem

    tomes.io avatar 3.10.2012 01:40 tomes.io | skóre: 12 | blog: tomesh
    Python - konceni programu uzivatelem
    Přečteno: 235×
    Ahoj, zacal jsem se ucit Python a potykam se s problemem, jak ukoncit bezici skript. Chci vyuzit slovnik, protoze chci, aby uzivatel volil ruzne funkcionality dle klicovych slov definovanych ve slovniku. Kdyz si nadefinuji klicove slovo SHUTDOWN a k nemu funkci, ktera ukoncuje program, tak, paklize fce stoji nekde osamote mimo cyklus, skript ukonci. Je-li ale v cyklu, tak nijak nereaguje.

    Uvedu ilustracni priklad:
    #!/usr/bin/python
    
    
    def read():
    
        str = raw_input('Napis neco: ')
        return str
        
    def write(msg):
        
        print msg
        
    def cmd_shutdown():
    
        raise SystemExit
        
    def pokusna():
        
        print "POkus"
        cmd_shutdown()
        
    COMMANDS = {}
    COMMANDS['SHUTDOWN'] = cmd_shutdown
    COMMANDS['POKUS'] = pokusna
        
    if __name__ == "__main__":
        while True:
            try:
                msg = read()
                
                if msg in COMMANDS:    
                    COMMANDS[msg]
             
                write(msg)
                      
            except (KeyboardInterrupt, EOFError):
                break
    Pokud uzivatel zada na vstupu klicove slovo, tak se provede prislusna fce. V propade slova POKUS vse funguje a fce pokusna() se provede, ale pokud zadam SHUTDOWN, tak se to jen prepise na obrazovku a fce cmd_shutdown() se vubec neprovede.

    Jsem v Pythonu novy a spoustu veci nevim, takze je mozne, ze se jedna o prkotinu, kazdopadne budu rad za jakykoliv hint.

    Řešení dotazu:


    Odpovědi

    tomes.io avatar 3.10.2012 01:50 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: Python - konceni programu uzivatelem
    Tak ja se omlouvam, ona nefunguje ani ta fce pokusna(). Cili bych rad preformuloval dotaz: jak zprovoznit a IF cyklem testovat klicova slova sloviku a volani z fci, ktere jsou lovnikem definovany?

    Nechapu to, pri debuggingu vidim, ze do promenne msg se nacte retezec ve tvaru
    'retezec'
    , coz by melo stacit ke srovnani pomoci "in" a naslednemu pouziti prikazu COMMANDS['retezec']...
    3.10.2012 06:39 Marek
    Rozbalit Rozbalit vše Re: Python - konceni programu uzivatelem
    Čau,

    PV248, že? ;] Pan Sivak to ma rovnou ve slajdech. http://msivak.fedorapeople.org/python/01.html#(17)

    řádky:

    get a first word (cmd) from msg and test if it is a valid command (if cmd in COMMANDS:)

    if yes: execute the corresponding function (ret = COMMANDS[cmd](rest_of_the_input)) and process the result ret (if is_done(ret):, if is_next(ret):)

    Nesmis zapomenout tu hodnotu ze slovniku zavolat jako funkci (tj. dat za ni () ), jinak ti to jenom vrati objekt <function fce at 0xXXXXXXXXXXXXX> (XXX hex adresa)

    tomes.io avatar 3.10.2012 10:12 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: Python - konceni programu uzivatelem
    Ano, PV248 ;)

    Nesmis zapomenout tu hodnotu ze slovniku zavolat jako funkci (tj. dat za ni () )

    Tohle jsem prehlid, ty zavorky. Jasne vono je to logicky :D Diky moc.
    rADOn avatar 3.10.2012 15:55 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Python - konceni programu uzivatelem
    BTW ve standartní knihovně je na tohle už hotový modul cmd.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco

    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.