Ellenőrizze anagrammák

Ellenőrizze anagrammák

Ebben az időben, akkor a probléma tanulmányozására „ellenőrzése anagramma» ( «Ellenőrizze Anagrams»).

Már írtam erről a probléma előtt. de most elmondom egy kicsit másképp.

Anagramma - egy játék a szavakkal, ennek eredményeként a permutációja betűk szavak vagy kifejezések még egy szót vagy kifejezést. Két szó van anagramma, ha tudnánk egy másik helyen átrendezése leveleket. Adott két szavak és kifejezések, és a feladat -, hogy ellenőrizze, hogy azok anagramma.

Meggyőződésünk, hogy a betűk

Szóval, mi kell összehasonlítani a két kifejezés. Először is meg kell őket, hogy „kezelni”: csak egyes betűk és átalakítani őket, hogy a kisbetűs. Továbbá, ezen a ponton, tudjuk konvertálni egy string tömbbe. Zárható ezt az eljárást külön funkció.

Vagy, ha memóriafelszabadításra és inkább generátorok:

Vagy mint a funkcionális programozási stílus:

Ezután meg kell számolni minden betű a szövegben, és ha a mennyiségi jellemzői a beolvasott szavak / kifejezések felelnek meg, ezek anagramma. Tegyük fel, hogy csak angol betűket. Akkor tudjuk használni egy sor 26 elem a számlákat.

Őszintén szólva, úgy néz ki, mint a kód C nyelven írt, de nem a Python. Ezen kívül, mi kapcsolódik mereven az angol ábécé. Nézzük cserélje ki a listából, hogy egy szótár (szótár).

Jobb, de egy jól ismert Python mottója mondja - „elem szerepel.” És Counter osztály lehetővé teszi, hogy csak számolni a betűket a szövegben.

Azt hiszem, akkor nézd meg magad, hogy mi külön funkció count_letters már nem annyira szükséges, és a végső döntést felírható:

Mi rendezni mindent

Amikor úgy döntöttem, először ez a probléma, nem használja a számláló. Ehelyett azt kell átalakítani a szöveget egy univerzális formában változatai. Természetesen beszélek, rendezett módon. Ha rendezni a sorokat, és hasonlítsa össze őket, ez lényegében ugyanaz, mint a gróf a tömb elemeit. És, mint a mi problémás szöveget tartalmaz, csak betűket és szóközöket, akkor a trükk:

Mint látható, van egy mozdulattal képes átalakítani ezt a funkciót be egysoros (szórakoztató):

Itt egy történet anagramma.

CheckiO Köszönjük az érdekes feladat.

Kapcsolódó cikkek