Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Etsiminen ja Mittaaminen | Merkkijonot
Tietotyypit Pythonissa

bookEtsiminen ja Mittaaminen

Kun osaat lukea merkkijonon osia, seuraava vaihe on esittää kysymyksiä sen sisällöstä: "sisältääkö se tämän?", "missä se on?", "kuinka monta kertaa?", "alkaako/loppuuko se…?".

Jäsenyys

Käytä in-operaattoria tarkistaaksesi, esiintyykö alimerkkijono missä tahansa merkkijonossa. Se palauttaa totuusarvon (Boolean).

12345
# Checking if a user's bio mentions specific skills user_bio = "Experienced in Python programming and data analysis." print("Python" in user_bio) # True → the bio mentions Python print("Java" not in user_bio) # True → Java is not listed as a skill
copy

Sijaintien etsiminen

  • find(sub) palauttaa ensimmäisen osuman aloitusindeksin, tai -1 jos ei löydy;
  • rfind(sub) etsii oikealta ja palauttaa viimeisen osuman indeksin (tai -1);
  • index(sub) toimii kuten find, mutta nostaa ValueError-poikkeuksen jos alimerkkijono puuttuu.
12345678
# Searching for keywords inside a product description description = "This brand new bracelet is made from recycled materials." print(description.find("bra")) # 5 → first occurrence of "bra" print(description.rfind("bra")) # 5 → only one "bra" found print(description.find("gold")) # -1 → not found, returns -1 print(description.index("bra")) # 5 → same as find(), but raises an error if not found print(description.index("gold")) # ValueError → "gold" not in the text
copy

Esiintymien laskeminen

count(sub) palauttaa kuinka monta kertaa alimerkkijono esiintyy ilman päällekkäisyyksiä.

12345
# Counting occurrences of words or letters in a customer review review = "Amazing banana smoothie with banana slices on top!" print(review.count("banana")) # 2 → the word appears twice print(review.count("a")) # 8 → letter 'a' appears multiple times
copy

Alku ja loppu

Merkkijonon alun tai lopun tarkistamiseen käytetään startswith- tai endswith-metodia. Nämä ovat selkeämpiä ja turvallisempia kuin viipalointi, kun tarvitaan vain kyllä/ei-vastaus.

12345
# Checking if the uploaded file has the correct name and format uploaded_file = "report_final.pdf" print(uploaded_file.startswith("report")) # True → file name starts correctly print(uploaded_file.endswith(".pdf")) # True → valid file format for upload
copy

Kirjainkoon huomioimattomat tarkistukset

Merkkijonometodit ovat kirjainkokoherkkiä. Kirjainkoon huomioimattomaan hakuun normalisoi molemmat osapuolet metodilla .lower() (tai .upper()).

12345
# Checking a user's message for a polite greeting user_message = "Hello, team! Let's start the meeting." print("hello" in user_message.lower()) # True → greeting detected print(user_message.lower().startswith("hello")) # True → message begins with "hello"
copy

1. Mitä tämä koodi tulostaa?

2. Mikä lause ei aiheuta virhettä, kun alimerkkijono puuttuu?

3. Kun s = "Banana", mikä lause palauttaa arvon True kirjainkoolla ei ole väliä tarkistettaessa etuliitettä "ba"?

question mark

Mitä tämä koodi tulostaa?

Select the correct answer

question mark

Mikä lause ei aiheuta virhettä, kun alimerkkijono puuttuu?

Select the correct answer

question mark

Kun s = "Banana", mikä lause palauttaa arvon True kirjainkoolla ei ole väliä tarkistettaessa etuliitettä "ba"?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Awesome!

Completion rate improved to 3.45

bookEtsiminen ja Mittaaminen

Pyyhkäise näyttääksesi valikon

Kun osaat lukea merkkijonon osia, seuraava vaihe on esittää kysymyksiä sen sisällöstä: "sisältääkö se tämän?", "missä se on?", "kuinka monta kertaa?", "alkaako/loppuuko se…?".

Jäsenyys

Käytä in-operaattoria tarkistaaksesi, esiintyykö alimerkkijono missä tahansa merkkijonossa. Se palauttaa totuusarvon (Boolean).

12345
# Checking if a user's bio mentions specific skills user_bio = "Experienced in Python programming and data analysis." print("Python" in user_bio) # True → the bio mentions Python print("Java" not in user_bio) # True → Java is not listed as a skill
copy

Sijaintien etsiminen

  • find(sub) palauttaa ensimmäisen osuman aloitusindeksin, tai -1 jos ei löydy;
  • rfind(sub) etsii oikealta ja palauttaa viimeisen osuman indeksin (tai -1);
  • index(sub) toimii kuten find, mutta nostaa ValueError-poikkeuksen jos alimerkkijono puuttuu.
12345678
# Searching for keywords inside a product description description = "This brand new bracelet is made from recycled materials." print(description.find("bra")) # 5 → first occurrence of "bra" print(description.rfind("bra")) # 5 → only one "bra" found print(description.find("gold")) # -1 → not found, returns -1 print(description.index("bra")) # 5 → same as find(), but raises an error if not found print(description.index("gold")) # ValueError → "gold" not in the text
copy

Esiintymien laskeminen

count(sub) palauttaa kuinka monta kertaa alimerkkijono esiintyy ilman päällekkäisyyksiä.

12345
# Counting occurrences of words or letters in a customer review review = "Amazing banana smoothie with banana slices on top!" print(review.count("banana")) # 2 → the word appears twice print(review.count("a")) # 8 → letter 'a' appears multiple times
copy

Alku ja loppu

Merkkijonon alun tai lopun tarkistamiseen käytetään startswith- tai endswith-metodia. Nämä ovat selkeämpiä ja turvallisempia kuin viipalointi, kun tarvitaan vain kyllä/ei-vastaus.

12345
# Checking if the uploaded file has the correct name and format uploaded_file = "report_final.pdf" print(uploaded_file.startswith("report")) # True → file name starts correctly print(uploaded_file.endswith(".pdf")) # True → valid file format for upload
copy

Kirjainkoon huomioimattomat tarkistukset

Merkkijonometodit ovat kirjainkokoherkkiä. Kirjainkoon huomioimattomaan hakuun normalisoi molemmat osapuolet metodilla .lower() (tai .upper()).

12345
# Checking a user's message for a polite greeting user_message = "Hello, team! Let's start the meeting." print("hello" in user_message.lower()) # True → greeting detected print(user_message.lower().startswith("hello")) # True → message begins with "hello"
copy

1. Mitä tämä koodi tulostaa?

2. Mikä lause ei aiheuta virhettä, kun alimerkkijono puuttuu?

3. Kun s = "Banana", mikä lause palauttaa arvon True kirjainkoolla ei ole väliä tarkistettaessa etuliitettä "ba"?

question mark

Mitä tämä koodi tulostaa?

Select the correct answer

question mark

Mikä lause ei aiheuta virhettä, kun alimerkkijono puuttuu?

Select the correct answer

question mark

Kun s = "Banana", mikä lause palauttaa arvon True kirjainkoolla ei ole väliä tarkistettaessa etuliitettä "ba"?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3
some-alt