Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Viipalointitehtävä | Merkkijonot
Quizzes & Challenges
Quizzes
Challenges
/
Tietotyypit Pythonissa

bookViipalointitehtävä

Viipalointia voidaan tehostaa askelargumentilla, 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.

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] alkaa indeksistä 5 ja ottaa joka kolmannen merkin;
  • string[:-2:2] ottaa joka toisen merkin alusta aina toiseksi viimeiseen merkkiin asti (ei sisälly).

Esimerkki

123
code = "TXN-2024-INV-0007" sliced = code[0:13:5] print(sliced) # Output: T0N
copy
  • Aloitetaan indeksistä 0
  • Lopetetaan indeksiin 13 (ei mukana)
  • Käytetään askelta 5, eli otetaan joka viides merkki

Merkit indekseissä 0, 5 ja 10 ovat 'T', '0' ja 'N', joten tulos on 'T0N'.

Tämän tyyppistä 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

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 7
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain how negative steps work in slicing?

What happens if the step value is set to 1 or omitted?

Can you give more examples of practical uses for slicing with steps?

close

Awesome!

Completion rate improved to 3.45

bookViipalointitehtävä

Pyyhkäise näyttääksesi valikon

Viipalointia voidaan tehostaa askelargumentilla, 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.

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] alkaa indeksistä 5 ja ottaa joka kolmannen merkin;
  • string[:-2:2] ottaa joka toisen merkin alusta aina toiseksi viimeiseen merkkiin asti (ei sisälly).

Esimerkki

123
code = "TXN-2024-INV-0007" sliced = code[0:13:5] print(sliced) # Output: T0N
copy
  • Aloitetaan indeksistä 0
  • Lopetetaan indeksiin 13 (ei mukana)
  • Käytetään askelta 5, eli otetaan joka viides merkki

Merkit indekseissä 0, 5 ja 10 ovat 'T', '0' ja 'N', joten tulos on 'T0N'.

Tämän tyyppistä 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

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 7
single

single

some-alt