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 23:22 | Komunita

    openSUSE Leap 16.1 vstoupil do RC fáze. Nově lze instalovat jako standardní systém (Standard) nebo jako neměnný systém s atomickými aktualizacemi (Immutable). Samostatná neměnná distribuce openSUSE Leap Micro končí.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Nová verze

    Byl vydán Mozilla Firefox 157.0. S nejvýraznější vizuální proměnou za poslední roky. 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 157 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 10:33 | IT novinky

    Rodina produktů Raspberry Pi se rozšířila o Raspberry Pi Smart Display Module. Deska pro Raspberry Pi Compute Module 5 se zasouvá přímo do displejů dle specifikace Intel SDM. Cena desky je 30 dolarů.

    Ladislav Hagara | Komentářů: 0
    28.9. 23:44 | Nová verze

    Byla vydána nová verze 2.56.0 distribuovaného systému správy verzí Git. Přispělo 104 vývojářů, z toho 39 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    28.9. 21:22 | Bezpečnostní upozornění

    Hackerská skupina ShinyHunters oznámila průnik do informačních systémů FBI, prostřednictvím zero-day zranitelnosti v platformě Oracle PeopleSoft, kterou úřad využívá mimo jiné pro náborový portál FBIJobs.gov. Útočníci tvrdí, že získali až 3 TB dat o současných i bývalých zaměstnancích a uchazečích o práci. Jako důkaz zveřejnili vzorek přibližně 5 000 záznamů obsahující jména, adresy, telefonní čísla, data narození, čísla

    … více »
    AfD 💙 | Komentářů: 1
    28.9. 21:11 | Zajímavý článek

    Doba kompilace linuxového jádra se díky rychlejšímu hardwaru a optimalizacím kbuildu snižuje k deseti sekundám. Nejnovější patche Lorenza Stoakse (vznikají i s pomocí SI) zkrátily na testovacím stroji dobu sestavení z dlouhých 22 vteřin na pouhých 15, a to bez použití RAMdisku. Testovací systém tvořily dva procesory AMD EPYC 9575F (oba dohromady poskytují celkem 128 jader a 256 vláken), čtyřiadvacet 64GB DDR5-6400 paměťových modulů a

    … více »
    AfD 💙 | Komentářů: 13
    28.9. 01:33 | Komunita

    Před rokem a půl vývojáři postmarketOS informovali, že pro projekt hledají nové jméno. Včera bylo oznámeno: postmarketOS se nově jmenuje Nura.

    Ladislav Hagara | Komentářů: 8
    27.9. 13:44 | Zajímavý projekt

    Hra Factorio dorazila na Printables. Hned teď si můžete stáhnout 65 různých modelů a nechat celou mimozemskou planetu oživnout na svém stole.

    Ladislav Hagara | Komentářů: 13
    26.9. 19:22 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 18.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    25.9. 23:33 | Humor

    Prezident USA Donald Trump během svého projevu na valném shromáždění OSN 22. září 2026 prohlásil, že umělá inteligence 'bude dále oficiálně nazývána superinteligencí', zkráceně SI. Svůj návrh zdůvodnil takto: 'Použití slova artificial činí inteligenci falešnou. Ona falešná není, ve skutečnosti je úžasná'. Zároveň ve svém proslovu prohlásil, že Spojené státy kategoricky odmítají jakékoliv pokusy o vytvoření 'globalistického

    … více »
    AfD 💙 | Komentářů: 27
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2752 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Dělení stringu Python

    pdp7 avatar 13.5.2025 16:34 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Dělení stringu Python
    Přečteno: 2229×
    Ahoj, je nějaký elegantní způsob jak to v Pythonu zapsat:

    Mám dejme tomu string "9000" a určím, že počet celých čísel bude např. 4 a desetinných např. 2 a potřebuji aby výstup byl "90.0"

    To samé pro příklad "19000" kde výstupem bude "190.0"

    Zrovnatak třeba "111900" pro výstup "1119.0"

    Zrovnatak třeba "111920" pro výstup "1119.20"

    Já to prostě neumím vyjádřit, je pro mě problém ta proměnlivá délka vstupního stringu. Nechce se mi sem dávat kód, určitě byste se smáli :D

    Řešení dotazu:


    Odpovědi

    13.5.2025 17:27 Xerces
    Rozbalit Rozbalit vše Re: Dělení stringu Python
    V principu jde o to, vložit tečku na n-tou pozici z prava, kde n je požadovaný počet desetinných míst. Lze na to použít slices a sestavit výsledek pomocí [:-n] + '.' + [-n:]. Nějak jsem ale nepochopil, jak by se měl výsledek omezit v případě, že zadáte počet celých čísel menší, než je ve vstupním řetězci a proč je pro 19000 a požadovaná 2 desetinná místa výstup 190.0 a nikoliv 190.00. :-)
    pdp7 avatar 13.5.2025 18:00 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: Dělení stringu Python
    Jasně jestli 190.0 nebo 190.00 je už jedno.
    #/usr/bin/python3
    string = "X19020"
    X = string[1:]
    print(len(X), X)
    
    integer_digits = 4
    decimal_digits = 2
    integersX = str(X[:integer_digits])
    decimalsX = str(X[-decimal_digits:])
    
    print("X" + integersX + "." + decimalsX)
    tohle vypíše:
    5 19020
    X1902.20
    ale potřebuji:
    5 19020
    X190.20
    Řešení 1× (karkar)
    13.5.2025 17:38 karkar | skóre: 14 | blog: Kartrolling
    Rozbalit Rozbalit vše Re: Dělení stringu Python
    s = '1911200'
    # adding character at specific position
    pos=4
    s2 = s[:pos] + "." + s[pos:]
    print(s2, type(s2))
    num1= float(s2)
    print(num1,type(num1))
    pdp7 avatar 13.5.2025 18:03 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: Dělení stringu Python
    Super to mi stačí.
    13.5.2025 18:11 X
    Rozbalit Rozbalit vše Re: Dělení stringu Python
    Pokracovani? ;) Pripadne napis a doplnim to na Git.
    pdp7 avatar 14.5.2025 08:08 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: Dělení stringu Python
    Tak nějak, asi doplním funkcionalitu na čtení souřadnic které jsou bez desetiné tečky s určením počtu číslic (jak to v excellonu, nebo i gerberu) často bývá.
    28.5.2025 11:13 kaaja
    Rozbalit Rozbalit vše Re: Dělení stringu Python
    A nebude nejjednodušší převést no na číslo a pak dělit mocninou 10?

    pos = 2

    exp = (10.0**pos)

    # exp spoctu jednou a pak pou69v8m

    a = "123546"

    b = float (a)/exp
    Řešení 1× (Andrej)
    2.6.2025 16:02 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Dělení stringu Python

    Slavný nizozemský informatik Johan van der Praase ve svých Spisech uvádí:

    def decode_fixed_point(s, i, d):
      head = s[max(0, len(s) - i - d):-d].lstrip('0')
      tail = s[-d:].rstrip('0')
      return f'{head:0>1}.{tail:0<1}'
    
    assert decode_fixed_point('9000', 4, 2) == '90.0'
    assert decode_fixed_point('19000', 4, 2) == '190.0'
    assert decode_fixed_point('111900', 4, 2) == '1119.0'
    assert decode_fixed_point('111920', 4, 2) == '1119.2'
    
    assert decode_fixed_point('123456', 3, 3) == '123.456'
    assert decode_fixed_point('123450', 3, 3) == '123.45'
    assert decode_fixed_point('123400', 3, 3) == '123.4'
    assert decode_fixed_point('123000', 3, 3) == '123.0'
    assert decode_fixed_point('003456', 3, 3) == '3.456'
    assert decode_fixed_point('000400', 3, 3) == '0.4'
    assert decode_fixed_point('000000', 3, 3) == '0.0'
    
    pdp7 avatar 2.6.2025 20:10 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: Dělení stringu Python
    Já moc nerozumím programátorským vtípkům, nejsem z zrovna z této branže, pochopitelně kdokoliv kdo tomu rozumí, by to napsal líp. Pro mě je hlavní, že jsem potřebný nástroj s pomocí spíchnul a slouží účelu.

    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.