Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.
Byl zveřejněn program konference Installfest 2026. Konference proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13. Vstup zdarma.
Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.
Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…
Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
G02X9Y6A5jak z toho vypárat 9, 6, 5 a uložit to do 3 proměnných zvlášť jako floaty?
X = radek.split("Y")[0]
Y = radek.split("Y")[1]
Z = radek.split("Y")[2]
funguje jenom pro tento případ stringu G02X9Y6Y5. Jakmile je tam nějaký další oddělovač jako zrovna to A tak jsem řiti.
Pokud použiju re.split tak ten mi zase vypíše jen list který mi nejde dál dělit, píše mi to, že list nemá atribut split.
with open("oblouky.txt") as f:
for arc in f:
if 'G02' in arc:
radius = float(arc.split("A")[1])
souradnice = arc.split("A")[0]
GX = souradnice.split("Y")[0]
X = float(GX[4:])
Y = float(souradnice.split("Y")[1])
print(X, Y, radius)
Pokud použiju re.split tak ten mi zase vypíše jen list který mi nejde dál dělit, píše mi to, že list nemá atribut split.No tak v cyklu projeď položky toho listu ze splitu a ty pak splitni. Obávám se ale, že tvůj "parser" bude k ničemu s tímto přístupem k programování. Co to je za vstupní stringy? Nějaký CAD? Nebo G-CODE k CNC nebo 3D tisku?
import re
inp_str = "G02X9Y6A5"
(x, y, a) = re.split(r"[XYA]", inp_str[3:])[1:]
print(f"x = {float(x)}, y = {float(y)}, a = {float(a)}")
# x = 9.0, y = 6.0, a = 5.0
import re
sample = 'G02X9Y6A5'
# základ z regulárních výrazů:
# ^G02 = začátek bude G02
# X(?P<x>\d[.\d]*) = první část bude začínat X a následovat bude číslice a číslice nebo tečka a pojmenujeme to x
# Y(?P<y>\d[.\d]*) = viz předchozí, jen to začíná Y a jmenuje se to y
# A(?P<radius>\d[.\d]*) = viz přžedchozí, jen to začíná A a jmenuje se to radius
# $ = tím zkoumaný řetězec končí
# dalo by se to napsat obecněji, ale neznám formát dalších řetězců, které by třeba bylo rozebírat
r_g02 = re.compile(r'^G02X(?P<x>\d[.\d]*)Y(?P<y>\d[.\d]*)A(?P<radius>\d[.\d]*)$')
matched = r_g02.match(sample)
if matched:
x = float(matched.group('x'))
y = float(matched.group('y'))
radius = float(matched.group('radius'))
print(x, y , radius)
else:
print("Vstup není oblouk!")
Tiskni
Sdílej: