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 02:55 | Bezpečnostní upozornění

    Výzkumníci ze společnosti ESET objevili 11 zapomenutých UEFI shim zavaděčů, které byly podepsány společností Microsoft, a které umožňují útočníkům obejít ochranu UEFI Secure Boot na většině zařízení. Microsoft je zneplatnil (přidal jejich hash do databáze dbx) v rámci aktualizace Patch Tuesday dne 9. června 2026. Uživatelé Linuxu mohou databází aktualizovat pomocí LVFS. Ověřit zneplatnění zavaděčů lze pomocí skriptu uefi-dbx-audit. Jedná se o CVE-2026-8863 a CVE-2026-10797.

    Ladislav Hagara | Komentářů: 3
    včera 16:55 | Zajímavý software

    pico-usb-wifi je open source firmware pro Raspberry Pi Pico W, který jej promění v USB Wi-Fi adaptér. Po připojení k počítači se objeví jako zařízení USB CDC-NCM.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | IT novinky

    Americká společnost Google ze skupiny Alphabet bude muset podle nových požadavků Evropské unie umožnit společnosti OpenAI i dalším konkurentům v oblasti umělé inteligence (AI) a internetových vyhledávačů přístup ke svým službám. Ve svém rozhodnutí o tom včera informovala Evropská komise (EK). Opatření má zajistit dodržování pravidel, jejichž cílem je omezit v EU tržní sílu velkých technologických firem. Google s tím nesouhlasí.

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Komunita

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)

    Ladislav Hagara | Komentářů: 5
    včera 00:22 | Zajímavý software

    Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    16.7. 19:55 | Nová verze

    Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    16.7. 14:44 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

    Ladislav Hagara | Komentářů: 6
    16.7. 14:22 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).

    Ladislav Hagara | Komentářů: 0
    16.7. 00:44 | Nová verze

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    15.7. 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2158 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Ošetření vstupu

    24.9.2015 11:25 Jack Hokus | skóre: 34 | blog: LostHeaven
    Ošetření vstupu
    Přečteno: 659×
    učím se python a zápasím s ošetřením uživatelského vstupu. Našel jsem si tenhle příklad

    Chci si ten příklad upravit tak, aby mi fungoval v klasickém dotazu na věk. Tedy, program se uživatele zeptá, kolik je mu let, pokud odpoví číslem, tak vytiskne věk a končí. Pokud ne, tak by měl vydat uživateli příkaz, aby hodnotu zadal jako čísla.

    Zatím se mi to nepodařilo, asi je to tím, že jsem příklad dobře nepochopil. Pokusím se ho projít řádek po řádku a vysvětlit jej. Pokud někde udělám chybu, prosím, opravte mne.

    Tento řádek vytiskne příklad se kterým se bude pracovat
    print("1/x=y")
    Tady začíná ten testovací blok
    try:
    Zde se definuje proměnná x
    x = int(input("Zadajte x: "))
    Na tomhle řádku je int což znamená celá čísla. Pak následuje input pro vstup a taky výzva pro uživatele, aby zadal vstup
     y = 1/x
    Tady se praví, do proměnné
    y
    přiřaď výsledek z 1/x

    Tomuhle řádku moc nerozumím, jde o formátování výstupu?
     print("y=1/{}={}".format(x, y))
    except ValueError: Tady je definována chyba, v tomto případě asi chyba hodnoty.
    http://www.jackhokus.cz/

    Řešení dotazu:


    Odpovědi

    xxxxxx avatar 24.9.2015 11:44 xxxxxx | skóre: 23
    Rozbalit Rozbalit vše Re: Ošetření vstupu
    Na tomhle řádku je int což znamená celá čísla. Pak následuje input pro vstup a taky výzva pro uživatele, aby zadal vstup
    Jen aby nedošlo k omylu, nejdříve je input, teprve po jeho provedení následuje int.
    print("y=1/{}={}".format(x, y))
    
    je popsáno tady. Lze to zapsat i takto:
    print("y=1/%d=%d" % (x, y))
    
    Obojí funguje trochu jako printf v C. V Pythonu tohle formátování umí spoustu užitečných věcí, tak doporučuju dokumentaci pročíst :) V tomhle příkladu se x dosadí namísto prvních {} a y namísto druhých závorek.

    No a výjimka ValueError se vyhazuje právě v případech, kdy něco nejde převést na něco jiného. Tedy když uživatel zadá "aerjdnv" namísto čísla.

    To znovu-zeptání se na věk by se pak udělalo v ošetření té výjimky:
    try:
        x = int(input("Zadajte x: "))
    except ValueError:
        try:
            x = int(input("Zadajte x (musí být číslo): "))
        except ValueError:
            exit(1)
    
    což nevypadá moc hezky, ale zeptalo by se to znovu. Program tohoto stylu se tu řešil nedávno, tak se když tak mrkněte, v diskuzi v poradně jsou řešení.
    5.10.2015 09:51 Jack Hokus | skóre: 34 | blog: LostHeaven
    Rozbalit Rozbalit vše Re: Ošetření vstupu
    Zdravím,

    tak po dlouhém hledání jsem našel a otestoval funkční řešení:
    
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    
    while True:
        try:
            print ("Zadej celé číslo")
            vstup = input (" ")
            vstup = int(vstup)
            print ("Zadal jsi", vstup)
            break
        except ValueError:
            print("Nezadal jsi celé číslo, zkus to znovu")
    
    
    Nicméně si nejsem jistý, jestli jsem ten příklad pochopil celý, tak se ho zase pokusím projít řádek po řádku a říct co který řádek dělá. Pokud se někde dopustím chyby, tak mne prosím, upozorněte.
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    První řádek pravý, že bude použit python 3 a text bude v UTF-8 kódování
    while True:
    
    Prováděj to co je uvnitř dokud není není pravda, že (dokud není splněna podmínka)
    try:
    
    Tady začíná testování
    print ("Zadej celé číslo")
    
    Výzva k zadání celého čísla
    vstup = input (" ")
    vstup = int(vstup)
    
    Tyhle dva řádky definují proměnnou vstup. První praví, že do této proměnné je vložen uživatelský vstup, druhý, že to má být celé číslo.

    Vím, že se to dá zapsat i do jednoho řádku, jako je to v tomto příkladu, ale tento postup se mi zatím zdá čitelnější.

    Tento řádek vypisuje vstup
    print ("Zadal jsi", vstup)
    
    Na internetu je často k vidění i tento zápis
    print ("Zadal jsi"), vstup
    
    Ale ten v Pythonu3 nefunguje, respektive, končí chybou.
    break
    
    Tento příkaz přeruší cyklus
     except ValueError:
            print("Nezadal jsi celé číslo, zkus to znovu")
    
    Tady je ošetření chyby

    http://www.jackhokus.cz/

    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.