Mikä on tehokkain tai oikeaoppinen tapa poimia yksittäinen numero luvusta tai numerosarjasta? Esim pisteen x-koordinaatista 1234567 (millimetriä) halutaan tietää mihin neliömetriin piste kuuluu. Kuuluu siis neliömetriin, jonka x-koordinaatti on 4.
Tuleeko koordinaattia käsitellä kokonaan stringinä, ja muuttaa muuksi jos halutaan vaihtaa pisteen sijaintia (vaikka vähentää millimetrejä x-koordinaatista).
Muokk: Tai esim toi mun purkkaviritys toisessa aiheessa. Siinä siis palautetaan n-määrä numeroita arvonnan tuloksena saadusta luvusta. Koodin yleiseen turhanpäiväisyyteen ym ei tartte ottaa kantaa.
Luvun lopusta saat poimittua numeroita jakojäännöksen avulla. Jakajana tällöin käytetään sopivaa kymmenen potenssia (käytetyn lukujärjestelmän kantaluvun potenssi). Esim. jos haluat luvusta 1234567 4 viimeistä numeroa, niin laske jakojäännös mikä syntyy, kun jaetaan luvulla 10^4. Tuosta tuloksesta saat sitten myös helposti ne metrit, kun jaat 1000:lla. Sitten saadun luvun pyöristät alaspäin, jos haluat kokonaisluvun.
def numero_oikealta(luku, n): return (luku / 10**(n-1)) % 10 numero_oikealta(1234567, 2) # 6
Kiitti. Uskotteko että mä vaan esitän tyhmää..
Aihe on jo aika vanha, joten et voi enää vastata siihen.