O víkendu probíhá na FIT VUT v Brně konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma. Přednášky lze sledovat i online na VHSky a YouTube.
Qualcomm uzavřel víceletou dohodu se SpaceX. Bude dodávat rádiové technologie, baseband jednotky a software pro plánovanou pozemní 5G síť Starlink Mobile. Výstavba má zahrnovat desítky tisíc základnových stanic v USA. Zahájení nasazování se očekává v roce 2027. Qualcomm dohodu označuje za svůj dosud největší 5G kontrakt.
Google rozšířil Cloud Vulnerability Reward Program. Nově nabízí odměnu až 250 tisíc dolarů za vysoce závažné architektonické bezpečnostní chyby označované jako Root-in-Cloud.
V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.
Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.
Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.
Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).
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/xTady se praví, do proměnné
ypř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.
Řešení dotazu:
Na tomhle řádku je int což znamená celá čísla. Pak následuje input pro vstup a taky výzva pro uživatele, aby zadal vstupJen 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í.
#!/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.
breakTento příkaz přeruší cyklus
except ValueError:
print("Nezadal jsi celé číslo, zkus to znovu")
Tady je ošetření chyby
Tiskni
Sdílej: