Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Merkkijonojen Vertailu | Ristikkäiset Tietotyypit
Tietotyypit Pythonissa

bookMerkkijonojen Vertailu

Merkkijonojen vertailu Pythonissa on oletuksena kirjainkoon huomioivaa. Jos käyttäjän syöte voi vaihdella kirjainkoon tai ylimääräisten välilyöntien osalta, normalisoi ensin ja vertaa vasta sitten. Yksinkertainen ja luotettava tapa on poistaa välilyönnit alusta ja lopusta sekä yhtenäistää kirjainkoko ennen yhtäsuuruus- tai alku-/loppuvertailuja.

Kirjainkoon huomioiva vs kirjainkoon huomiotta jättävä

Oletuksena "Apple" == "apple" on False. Kirjainkoon huomiotta jättämiseksi normalisoi molemmat puolet.

123
a = "Hello" b = "heLLo" print(a.lower() == b.lower()) # True
copy

casefold() on vahvempi, kansainvälisesti yhteensopiva versio lower()-metodista ja parempi oletusvaihtoehto kirjainkoon huomioimattomiin vertailuihin.

123
s1 = "straße" s2 = "STRASSE" print(s1.casefold() == s2.casefold()) # True
copy

Trimmaa ja vertaa

Käyttäjät lisäävät usein vahingossa välilyöntejä. Poista alussa ja lopussa olevat välilyönnit ennen vertailua.

123
raw = " admin " role = "ADMIN" print(raw.strip().casefold() == role.casefold()) # True
copy

Etu- ja loppuliitteiden tarkistukset

Käytä startswith ja endswith. Tapausherkkyyden poistamiseksi normalisoi ensin.

1234
fname = "Report_Final.PDF" print(fname.lower().endswith(".pdf")) # True prefix = "rep" print(fname.strip().casefold().startswith(prefix.casefold())) # True
copy

Johdonmukainen normalisointiprosessi

Valitse yksinkertainen, toistettava järjestys:

  1. Poista ulommat välilyönnit metodilla .strip();
  2. Yhtenäistä kirjainkoko metodilla .casefold() (tai .lower() tarpeen mukaan);
  3. Käytä sitten tarkistuksia kuten ==, in, startswith, endswith tai muita.

1. Mikä rivi suorittaa kirjainkoon huomioivan tasa-arvotarkistuksen oikein?

2. Kun s = " Hello ", mikä lauseke palauttaa True kirjainkoon huomioivassa tasa-arvotarkistuksessa merkkijonolle "hello", kun ympäröivät välilyönnit jätetään huomiotta?

3. Mikä väite on tarkin, kun halutaan tehdä vankka kirjainkoon huomioimaton vertailu?

question mark

Mikä rivi suorittaa kirjainkoon huomioivan tasa-arvotarkistuksen oikein?

Select the correct answer

question mark

Kun s = " Hello ", mikä lauseke palauttaa True kirjainkoon huomioivassa tasa-arvotarkistuksessa merkkijonolle "hello", kun ympäröivät välilyönnit jätetään huomiotta?

Select the correct answer

question mark

Mikä väite on tarkin, kun halutaan tehdä vankka kirjainkoon huomioimaton vertailu?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain the difference between `lower()` and `casefold()` in more detail?

Are there any situations where `casefold()` might not be appropriate?

Can you show more examples of normalizing user input before comparison?

Awesome!

Completion rate improved to 5

bookMerkkijonojen Vertailu

Pyyhkäise näyttääksesi valikon

Merkkijonojen vertailu Pythonissa on oletuksena kirjainkoon huomioivaa. Jos käyttäjän syöte voi vaihdella kirjainkoon tai ylimääräisten välilyöntien osalta, normalisoi ensin ja vertaa vasta sitten. Yksinkertainen ja luotettava tapa on poistaa välilyönnit alusta ja lopusta sekä yhtenäistää kirjainkoko ennen yhtäsuuruus- tai alku-/loppuvertailuja.

Kirjainkoon huomioiva vs kirjainkoon huomiotta jättävä

Oletuksena "Apple" == "apple" on False. Kirjainkoon huomiotta jättämiseksi normalisoi molemmat puolet.

123
a = "Hello" b = "heLLo" print(a.lower() == b.lower()) # True
copy

casefold() on vahvempi, kansainvälisesti yhteensopiva versio lower()-metodista ja parempi oletusvaihtoehto kirjainkoon huomioimattomiin vertailuihin.

123
s1 = "straße" s2 = "STRASSE" print(s1.casefold() == s2.casefold()) # True
copy

Trimmaa ja vertaa

Käyttäjät lisäävät usein vahingossa välilyöntejä. Poista alussa ja lopussa olevat välilyönnit ennen vertailua.

123
raw = " admin " role = "ADMIN" print(raw.strip().casefold() == role.casefold()) # True
copy

Etu- ja loppuliitteiden tarkistukset

Käytä startswith ja endswith. Tapausherkkyyden poistamiseksi normalisoi ensin.

1234
fname = "Report_Final.PDF" print(fname.lower().endswith(".pdf")) # True prefix = "rep" print(fname.strip().casefold().startswith(prefix.casefold())) # True
copy

Johdonmukainen normalisointiprosessi

Valitse yksinkertainen, toistettava järjestys:

  1. Poista ulommat välilyönnit metodilla .strip();
  2. Yhtenäistä kirjainkoko metodilla .casefold() (tai .lower() tarpeen mukaan);
  3. Käytä sitten tarkistuksia kuten ==, in, startswith, endswith tai muita.

1. Mikä rivi suorittaa kirjainkoon huomioivan tasa-arvotarkistuksen oikein?

2. Kun s = " Hello ", mikä lauseke palauttaa True kirjainkoon huomioivassa tasa-arvotarkistuksessa merkkijonolle "hello", kun ympäröivät välilyönnit jätetään huomiotta?

3. Mikä väite on tarkin, kun halutaan tehdä vankka kirjainkoon huomioimaton vertailu?

question mark

Mikä rivi suorittaa kirjainkoon huomioivan tasa-arvotarkistuksen oikein?

Select the correct answer

question mark

Kun s = " Hello ", mikä lauseke palauttaa True kirjainkoon huomioivassa tasa-arvotarkistuksessa merkkijonolle "hello", kun ympäröivät välilyönnit jätetään huomiotta?

Select the correct answer

question mark

Mikä väite on tarkin, kun halutaan tehdä vankka kirjainkoon huomioimaton vertailu?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 2
some-alt