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í
×

včera 18:11 | Nová verze

Společnost Oracle oficiálně oznámila vydání Java SE 9 (JDK 9), Java Platform Enterprise Edition 8 (Java EE 8) a Java EE 8 Software Development Kit (SDK). Java SE 9 přináší více než 150 nových vlastností.

Ladislav Hagara | Komentářů: 0
včera 12:11 | Komunita

Na Humble Bundle lze získat hororovou počítačovou hru Outlast (Wikipedie) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 1
včera 10:33 | Humor

Mozilla.cz upozorňuje na Knihu Mozilly (Wikipedie), tj. velikonoční vajíčko ve Firefoxu. Zobrazit jej lze zadáním about:mozilla do adresního řádku. Aktuální verze Firefoxu obsahuje proroctví 15:1 "Dvojčata Mamonu se rozhádala a jejich souboje uvrhly svět do nové tmy. Zvířeti se ale tma hnusila. A tak se stalo mrštnější a silnější, šlo vpřed a jeho počty rostly. A zvíře přineslo oheň a světlo do tmy". Firefox 57 bude obsahovat proroctví 11:14. To je zatím jenom v angličtině. Pomoci lze s překladem do češtiny.

Ladislav Hagara | Komentářů: 8
včera 01:22 | Zajímavý projekt
Před měsícem byla spuštěna kampaň na podporu chytrého telefonu Librem 5, jenž by měl respektovat bezpečnost, svobodu a soukromí uživatelů. Cílem kampaně je vybrat alespoň milion a půl dolarů. Aktuálně je vybráno přes 600 000 dolarů, tj. 40 %. Kampaň poběží ještě další měsíc. Podporu projektu oznámilo KDE i GNOME.
Ladislav Hagara | Komentářů: 22
včera 00:55 | Komunita

Agentura DISA (Defense Information Systems Agency) publikovala (pdf) Ubuntu 16.04 Security Technical Implementation Guide (STIG) (zip), tj. doporučené bezpečnostní nastavení Ubuntu 16.04. Ubuntu se tak dostalo mezi unixové operační systémy a linuxové distribuce AIX, HP-UX, Oracle Linux, Red Hat a Solaris [reddit].

Ladislav Hagara | Komentářů: 2
21.9. 22:55 | Bezpečnostní upozornění

CSIRT.CZ informuje, že byly vydány nové bezpečnostní aktualizace, které opravují několik zranitelných míst v Sambě. Útočník může využít zranitelnosti s cílem získání přístupu k potenciálně citlivých informací. Uživatelům a správcům je doporučeno, aby zkontrolovali bezpečnostní opatření pro CVE-2017-12150, CVE-2017-12151 a CVE-2017-12163 a provedli potřebné aktualizace.

Ladislav Hagara | Komentářů: 0
21.9. 21:44 | Komunita

Společnost Red Hat aktualizovala svůj slib ohledně softwarových patentů. Slib nově zahrnuje i open source software pod permisivními licencemi.

Ladislav Hagara | Komentářů: 0
21.9. 08:55 | Komunita

Do 22. září probíhá v Mountain View konference XDC2017 (X.Org Developer's Conference). Na programu je řada zajímavých přednášek. Sledovat je lze online. K dispozici je záznam přednášek ze včerejšího dne.

Ladislav Hagara | Komentářů: 0
20.9. 17:33 | Nová verze

Byla vydána nová stabilní verze 1.12 (1.12.955.36) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují možnost zobrazení metadat u digitálních fotografií, vylepšený panel stahování a omezení sytosti barvy zdůraznění (YouTube). Nejnovější Vivaldi je postaveno na Chromiu 61.0.3163.91.

Ladislav Hagara | Komentářů: 40
20.9. 10:55 | Nová verze

Byla vydána verze 4.0 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 16.10, Ubuntu 16.04 a Ubuntu 14.04.

Ladislav Hagara | Komentářů: 5
Těžíte nějakou kryptoměnu?
 (5%)
 (3%)
 (17%)
 (75%)
Celkem 557 hlasů
 Komentářů: 22, poslední 29.8. 11:23
    Rozcestník

    Dotaz: Ošetření vstupu

    24.9.2015 11:25 Jack Hokus | skóre: 32 | blog: LostHeaven
    Ošetření vstupu
    Přečteno: 415×
    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

    mika-talvinen avatar 24.9.2015 11:44 mika-talvinen | skóre: 23 | Plzeň
    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: 32 | 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.