Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Viipalointitehtävä | Python-Merkkijonojen Käsittely
Tietotyypit Pythonissa

book
Viipalointitehtävä

Viipalointia voidaan tehostaa askel-argumentilla, jonka avulla voit poimia merkkejä tietyin välein.

Tämä on hyödyllistä, kun haluat valita joka toisen merkin, ohittaa kirjaimia tai poimia kuvioita rakenteisesta datasta, kuten laskun numeroista, tapahtumakoodeista tai raporteista.

python
string[start : end : step]

  • start: indeksi, josta viipalointi alkaa (mukana)

  • end: indeksi, johon viipalointi päättyy (ei mukana)

  • step: väli (esim. 2 tarkoittaa joka toista merkkiä)

Voit myös jättää pois yhden tai useamman arvon:

  • string[::2] ottaa joka toisen merkin alusta loppuun;

  • string[5::3] aloittaa indeksistä 5 ja ottaa joka kolmannen merkin;

  • string[:-2:2] ottaa joka toisen merkin alusta aina toiseksi viimeiseen merkkiin asti (ei sisällä sitä).

Esimerkki

code = "TXN-2024-INV-0007"
sliced = code[0:13:5]
print(sliced) # Output: T0N
123
code = "TXN-2024-INV-0007" sliced = code[0:13:5] print(sliced) # Output: T0N
copy
  • Aloitetaan indeksistä 0

  • Päättyy indeksiin 13 (ei mukana)

  • Käytetään askelta 5, eli otetaan joka viides merkki

Indekseissä 0, 5 ja 10 olevat merkit ovat 'T', '0' ja 'N', joten tulos on 'T0N'.

Tällaista viipalointia voidaan käyttää esimerkiksi nimikirjainten tai ohjauskoodien poimimiseen rakenteisista merkkijonoista talous- tai asiakirjajärjestelmissä.

Tehtävä

Swipe to start coding

Kirjanpitojärjestelmässä talousraporttien tiedostonimet luodaan automaattisesti. Jokainen tiedostonimi sisältää etuliitteen, raporttityypin ja vuoden.

Tehtävänäsi on käyttää viipalointia askeleella poimiaksesi vuoden 1. ja 3. numeron (tässä tapauksessa 2 ja 2) tiedostonimestä. Tämä tulos toimii yksinkertaisena vuoden tarkistuskoodina.

Ratkaisu

filename = "Annual Budget Report 2024"
# Extracted indexes from 1 to 13 with the step of 3
year_code = filename[21:24:2]

print("Variable sliced_string equals:", year_code)
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 7
single

single

filename = "Annual Budget Report 2024"

year_code = filename[___:___:___]

print("Variable sliced_string equals:", year_code)

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

We use cookies to make your experience better!
some-alt