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 16:44 | Nová verze

    Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.

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

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 11:55 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.

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

    Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).

    |🇵🇸 | Komentářů: 8
    včera 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 7
    včera 12:33 | Zajímavý projekt

    Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.

    |🇵🇸 | Komentářů: 5
    včera 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 1
    16.8. 18:55 | Komunita

    Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 1
    16.8. 04:22 | Komunita

    Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2416 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník


    Dotaz: split() a proměnné - Python

    pdp7 avatar 21.3.2025 17:55 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    split() a proměnné - Python
    Přečteno: 3151×
    Ahoj mám string:
    G02X9Y6A5
    jak 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.

    Odpovědi

    pdp7 avatar 21.3.2025 20:44 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: split() a proměnné - Python
    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)
    21.3.2025 21:01 Bugsa
    Rozbalit Rozbalit vše Re: split() a proměnné - Python
    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?
    pdp7 avatar 21.3.2025 21:17 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: split() a proměnné - Python
    No nepochybně ten přístup je uplně jeblý (nejsem zrovna programátor). Zatím mám funkční parser který čte excellon a převádí na gcode (protože nemám přístup k industriálním strojům k obrábění plošných spojů), mám přístup jen k normální bězné fréze. Ovšem soft kde se dá panelizovat DPS tvořit cesty nástrojem atd. obyčejně zas generuje jenom ten excellon a jak ho mám na té obyč fréze pustit, když ona tomu nehoví. Za tím účelem jsem si napsal takový prasecký parser který funguje. Zatím jen s G00 a G01 příkazy. Nějak to rozšiřuji chci tam přidat podporu pro G02, G03 (oblouky) který tam dopočítává offsety I, J protože ta fréza to vyžaduje. V excellonu se zas definuje jen poloměr oblouku a moje prasečina to tam dopočítává :D
    22.3.2025 13:54 mikrom
    Rozbalit Rozbalit vše Re: split() a proměnné - Python
    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
    
    23.3.2025 17:11 Ja
    Rozbalit Rozbalit vše Re: split() a proměnné - Python
    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!")
    

    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.