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 21:29 | Nová verze

    Open source download manager Fatrat povstal z popela. Autor k dvacetiletému výročí projektu přidal do vínku podporu nejnovější knihovny libtorrent, rozhraní portoval na QT6, došlo k nahrazení podpory java rozšíření pythonem. Webové rozhraní bylo přepsáno s podporou mobilních zařízení. Aplikaci je taktéž možno zkompilovat bez podpory GUI. Více informací v releases.

    Max | Komentářů: 4
    dnes 21:11 | Bezpečnostní upozornění

    Zranitelnost Broccoli2Shell (CVE-2026-111497) v kompresní knihovně Brotli se netýká pouze Node.js. Ohroženy jsou také aplikace využívající HTTP. Knihovnu používají webové prohlížeče, servery i řada dalších aplikací a technologií, například také Python nebo Bun. Identifikace všech zranitelných komponent může být obtížná, protože knihovna bývá součástí dalších softwarových balíčků nebo je přímo začleněna do spustitelných souborů aplikací.

    Ladislav Hagara | Komentářů: 1
    dnes 18:33 | Komunita

    Quad9, švýcarský celosvětově působící neziskový poskytovatel DNS, od 24. listopadu 2026 ukončí své služby ve Francii kvůli soudnímu sporu s katarskou televizní stanicí beIN. Ta požadovala blokování domén, které podle ní nelegálně zpřístupňují sportovní přenosy. Francouzský soud Katarům vyhověl a nařídil (🇫🇷, PDF) Quad9 blokaci zavést, pod hrozbou pokuty 1000 eur denně. Provozovatel příkaz odmítá s tím, že blokace

    … více »
    Pendrekama do nich❗ | Komentářů: 0
    dnes 15:22 | Zajímavý článek

    Článek na blogu APNIC vysvětluje, jak správně vytvářet a používat ASPA záznamy — podepsané objekty v RPKI, které uvádějí, kteří poskytovatelé směrování jsou pro dané autonomní číslo (ASN) oprávněni. Síťoví operátoři je mohou využít k ověřování tras BGP a k odhalování úniků tras či podvržených tras.

    vencour | Komentářů: 0
    dnes 14:33 | Nová verze

    Byla vydána (𝕏) verze 8.0.0 open source programu pro prolamování hesel hashcat (GitHub, Wikipedie). Přehled novinek v příspěvku v diskusním fóru a pdf.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 2026.3 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 6 nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 08:35 | Komunita
    Pořadatelé dalšího ročníku komunitního setkání správců nejen českých a slovenských sítí CSNOG 2027 upozorňují, Call for Abstracts pro blížící se akci (20. a 21. ledna 2027, Zlín) končí už 31. října, tedy na konci tohoto týdne.. … více »
    VSladek | Komentářů: 0
    24.10. 23:22 | Bezpečnostní upozornění

    Výzkumníci ukazují, jak mohou otevřené tunely a IPv6 Extension Headers synchronizovat pakety do krátkých provozních špiček. V kontrolovaném experimentu naměřili přes 180násobnou koncentraci paketového toku vůči průměrné rychlosti odesílání — nikoli 180násobné zvětšení objemu dat. Článek obsahuje metodiku, limity měření i mitigace pro GRE, IPIP a další tunely.

    vencour | Komentářů: 1
    24.10. 12:44 | Pozvánky

    Po velkém úspěchu prvního MobileLinux Hackdaye se vracíme do Českých Budějovic s druhým ročníkem. V pátek 30. října 2026 od 10:00 se v prostorách Jihočeské univerzity uskuteční Embedded & MobileLinux Hackday #2. Těšit se můžete na témata jako Immutable Linux na telefonech (BengalOS), U-Boot a upstream vývoj, AI optimalizace pro embedded systémy nebo otevřený hardware. Nebude chybět praktické hackování, sdílení zkušeností a možnost … více »

    lkocman | Komentářů: 1
    24.10. 00:44 | Bezpečnostní upozornění

    Dne 21. října 2026 vydal projekt Node.js bezpečnostní aktualizace opravující deset zranitelností, včetně jedné umožňující potenciální vzdálené spuštění kódu (RCE). Nejzajímavější je CVE-2026-111497, chyba dekodéru Brotli, kterou objevili výzkumníci využívající OpenAI Codex Security. Chyba je v nativním dekodéru Brotli, nikoli v samotném JavaScriptu. Speciálně vytvořený komprimovaný vstup způsobí, že dekodér zamění

    … více »
    vencour | Komentářů: 15
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2917 hlasů
     Komentářů: 34, poslední dnes 08:24
    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: 881×
    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ákno • Nahoru

    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.