Napisz program sortujący listę ciągów znaków zgodnie z porządkiem leksykograficznym, a następnie wypisujący ostatni element posortowanej listy. Skorzystaj z wybranego przez siebie stabilnego algorytmu sortowania. Zwróć uwagę, że elementy listy zapisane są wielkimi literami. Działanie swojego programu przetestuj dla następujących danych:
dane = ["WODA", "ZUPA", "KAWA", "LODY", "RYBA", "OWOC"]
Specyfikacja:
Dane:
dane – lista ciągów znaków do posortowania; każdy element składa się wyłącznie z dużych liter alfabetu łacińskiego
Wynik:
ostatni_element – ciąg znaków; ostatni element posortowanej listy dane
RITyMI4wWSYSk
Rozwiązanie wykorzystujące sortowanie kubełkowe:
Linia 1. dane znak równości otwórz nawias kwadratowy cudzysłów WODA cudzysłów przecinek.
Linia 2. cudzysłów ZUPA cudzysłów przecinek.
Linia 3. cudzysłów KAWA cudzysłów przecinek.
Linia 4. cudzysłów LODY cudzysłów przecinek.
Linia 5. cudzysłów RYBA cudzysłów przecinek.
Linia 6. cudzysłów OWOC cudzysłów zamknij nawias kwadratowy.
Linia 8. def sortowanie podkreślnik pozycyjne podkreślnik slow otwórz nawias okrągły lista podkreślnik slow zamknij nawias okrągły dwukropek.
Linia 10. def kubelki podkreślnik iteracje otwórz nawias okrągły lista zamknij nawias okrągły dwukropek.
Linia 11. kub znak równości otwórz nawias kwadratowy zamknij nawias kwadratowy.
Linia 12. dl znak równości 0.
Linia 13. for w in lista dwukropek.
Linia 14. if len otwórz nawias okrągły w zamknij nawias okrągły zamknij nawias ostrokątny dl dwukropek.
Linia 15. dl znak równości len otwórz nawias okrągły w zamknij nawias okrągły.
Linia 16. for l in w dwukropek.
Linia 17. if not l kropka upper otwórz nawias okrągły zamknij nawias okrągły in kub dwukropek.
Linia 18. kub kropka append otwórz nawias okrągły l kropka upper otwórz nawias okrągły zamknij nawias okrągły zamknij nawias okrągły.
Linia 19. return otwórz nawias okrągły sorted otwórz nawias okrągły kub zamknij nawias okrągły przecinek dl zamknij nawias okrągły.
Linia 21. def sortuj otwórz nawias okrągły lista przecinek pozycja przecinek kb zamknij nawias okrągły dwukropek.
Linia 22. l znak równości otwórz nawias kwadratowy zamknij nawias kwadratowy.
Linia 23. kubelki znak równości otwórz nawias klamrowy p dwukropek otwórz nawias kwadratowy zamknij nawias kwadratowy for p in kb zamknij nawias klamrowy.
Linia 24. for w in lista dwukropek.
Linia 25. if len otwórz nawias okrągły w zamknij nawias okrągły otwórz nawias ostrokątny pozycja dwukropek.
Linia 26. l kropka insert otwórz nawias okrągły 0 przecinek w zamknij nawias okrągły.
Linia 27. else dwukropek.
Linia 28. lit znak równości w otwórz nawias kwadratowy pozycja minus 1 zamknij nawias kwadratowy kropka upper otwórz nawias okrągły zamknij nawias okrągły.
Linia 29. kubelki otwórz nawias kwadratowy lit zamknij nawias kwadratowy kropka append otwórz nawias okrągły w zamknij nawias okrągły.
Linia 30. for i in kubelki dwukropek.
Linia 31. if len otwórz nawias okrągły kubelki otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias ostrokątny 0 dwukropek.
Linia 32. l plus znak równości kubelki otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 33. return l otwórz nawias kwadratowy dwukropek zamknij nawias kwadratowy.
Linia 36. kb przecinek il znak równości kubelki podkreślnik iteracje otwórz nawias okrągły lista podkreślnik slow zamknij nawias okrągły.
Linia 38. for i in range otwórz nawias okrągły il przecinek 0 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 39. lista podkreślnik slow znak równości sortuj otwórz nawias okrągły lista podkreślnik slow przecinek i przecinek kb zamknij nawias okrągły.
Linia 41. return lista podkreślnik slow otwórz nawias kwadratowy dwukropek zamknij nawias kwadratowy.
Linia 43. lista podkreślnik posortowana znak równości sortowanie podkreślnik pozycyjne podkreślnik slow otwórz nawias okrągły dane zamknij nawias okrągły.
Linia 44. ostatni podkreślnik element znak równości lista podkreślnik posortowana otwórz nawias kwadratowy len otwórz nawias okrągły dane zamknij nawias okrągły minus 1 zamknij nawias kwadratowy.
Linia 45. print otwórz nawias okrągły ostatni podkreślnik element zamknij nawias okrągły.
11
Ćwiczenie 2
Uzupełnij brakujące miejsca w kodzie tak, aby otrzymać działający program realizujący algorytm sortowania pozycyjnego słów. Swój program przetestuj dla listy dane = ["magda", "ala", "adam", "ewa"]. Elementy listy powinny zostać posortowane w porządku leksykograficznym.
Specyfikacja problemu:
Dane:
dane – lista zawierająca imiona do posortowania
Wynik:
dane – lista posortowana w porządku leksykograficznym
R19pp8T19BV3e
Przykładowe rozwiązanie zadania:
Linia 1. def przygotuj podkreślnik slowa otwórz nawias okrągły dane przecinek dlugosc podkreślnik najdluzszego podkreślnik slowa zamknij nawias okrągły dwukropek.
Linia 2. for indeks przecinek slowo in enumerate otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 3. while len otwórz nawias okrągły slowo zamknij nawias okrągły otwórz nawias ostrokątny dlugosc podkreślnik najdluzszego podkreślnik slowa dwukropek.
Linia 4. slowo plus znak równości cudzysłów ` cudzysłów.
Linia 5. dane otwórz nawias kwadratowy indeks zamknij nawias kwadratowy znak równości slowo.
Linia 7. def wyczysc podkreślnik napisy otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 8. for indeks przecinek slowo in enumerate otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 9. dane otwórz nawias kwadratowy indeks zamknij nawias kwadratowy znak równości slowo kropka replace otwórz nawias okrągły cudzysłów ` cudzysłów przecinek cudzysłów cudzysłów zamknij nawias okrągły.
Linia 11. def radix podkreślnik sort otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 12. dlugosc podkreślnik najdluzszego podkreślnik slowa znak równości max otwórz nawias okrągły otwórz nawias kwadratowy len otwórz nawias okrągły slowo zamknij nawias okrągły for slowo in dane zamknij nawias kwadratowy zamknij nawias okrągły.
Linia 14. przygotuj podkreślnik slowa otwórz nawias okrągły dane przecinek dlugosc podkreślnik najdluzszego podkreślnik slowa zamknij nawias okrągły.
Linia 16. for i in range otwórz nawias okrągły dlugosc podkreślnik najdluzszego podkreślnik slowa minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 17. sortowanie podkreślnik przez podkreślnik zliczanie otwórz nawias okrągły dane przecinek i zamknij nawias okrągły.
Linia 19. wyczysc podkreślnik napisy otwórz nawias okrągły dane zamknij nawias okrągły.
Linia 21. return dane.
Linia 24. def sortowanie podkreślnik przez podkreślnik zliczanie otwórz nawias okrągły dane przecinek indeks podkreślnik znaku zamknij nawias okrągły dwukropek.
Linia 25. lista podkreślnik zliczen podkreślnik liczb znak równości otwórz nawias kwadratowy 0 for x in range otwórz nawias okrągły 27 zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 26. for slowo in dane dwukropek.
Linia 27. odczytany podkreślnik kod podkreślnik znaku znak równości ord otwórz nawias okrągły slowo otwórz nawias kwadratowy indeks podkreślnik znaku zamknij nawias kwadratowy zamknij nawias okrągły minus ord otwórz nawias okrągły cudzysłów ` cudzysłów zamknij nawias okrągły.
Linia 28. lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy odczytany podkreślnik kod podkreślnik znaku zamknij nawias kwadratowy plus znak równości 1.
Linia 30. for i in range otwórz nawias okrągły 1 przecinek len otwórz nawias okrągły lista podkreślnik zliczen podkreślnik liczb zamknij nawias okrągły zamknij nawias okrągły dwukropek.
Linia 31. lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy i zamknij nawias kwadratowy plus znak równości lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy i minus 1 zamknij nawias kwadratowy.
Linia 33. temp znak równości otwórz nawias kwadratowy cudzysłów cudzysłów for slowo in dane zamknij nawias kwadratowy.
Linia 35. for i in range otwórz nawias okrągły len otwórz nawias okrągły dane zamknij nawias okrągły minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 36. odczytany podkreślnik kod podkreślnik znaku znak równości ord otwórz nawias okrągły dane otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy indeks podkreślnik znaku zamknij nawias kwadratowy zamknij nawias okrągły minus ord otwórz nawias okrągły cudzysłów ` cudzysłów zamknij nawias okrągły.
Linia 37. indeks podkreślnik w podkreślnik liscie podkreślnik wynikowej znak równości lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy odczytany podkreślnik kod podkreślnik znaku zamknij nawias kwadratowy minus 1.
Linia 38. temp otwórz nawias kwadratowy indeks podkreślnik w podkreślnik liscie podkreślnik wynikowej zamknij nawias kwadratowy znak równości dane otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 39. lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy odczytany podkreślnik kod podkreślnik znaku zamknij nawias kwadratowy minus znak równości 1.
Linia 41. for i in range otwórz nawias okrągły len otwórz nawias okrągły temp zamknij nawias okrągły zamknij nawias okrągły dwukropek.
Linia 42. dane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości temp otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 45. dane znak równości otwórz nawias kwadratowy.
Linia 46. cudzysłów magda cudzysłów przecinek.
Linia 47. cudzysłów ala cudzysłów przecinek.
Linia 48. cudzysłów adam cudzysłów przecinek.
Linia 49. cudzysłów ewa cudzysłów.
Linia 50. zamknij nawias kwadratowy.
Linia 52. posortowane podkreślnik dane znak równości radix podkreślnik sort otwórz nawias okrągły dane zamknij nawias okrągły.
Linia 53. print otwórz nawias okrągły posortowane podkreślnik dane zamknij nawias okrągły.
21
Ćwiczenie 3
Zmodyfikuj podany kod tak, aby sortował pozycyjnie ciągi znaków utworzone z cyfr. Skorzystaj w tym celu z algorytmu sortowania pozycyjnego słów, nie liczb – przykładowo: ciąg „9” jest większy od ciągu „11”. Zastosuj pomocniczo wybrany przez siebie stabilny algorytm sortowania. Lista powinna być posortowana nierosnąco.
Specyfikacja problemu:
Dane:
dane – lista zawierająca ciągi cyfr do posortowania
Wynik:
dane – lista posortowana nierosnąco
RjwkxyngjvEWN
Przykładowe rozwiązanie zadania:
Linia 1. def przygotuj podkreślnik slowa otwórz nawias okrągły dane przecinek dlugosc podkreślnik najdluzszego podkreślnik slowa zamknij nawias okrągły dwukropek.
Linia 2. for indeks przecinek slowo in enumerate otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 3. while len otwórz nawias okrągły slowo zamknij nawias okrągły otwórz nawias ostrokątny dlugosc podkreślnik najdluzszego podkreślnik slowa dwukropek.
Linia 4. slowo plus znak równości cudzysłów prawy ukośnik cudzysłów.
Linia 5. dane otwórz nawias kwadratowy indeks zamknij nawias kwadratowy znak równości slowo.
Linia 7. def wyczysc podkreślnik napisy otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 8. for indeks przecinek slowo in enumerate otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 9. dane otwórz nawias kwadratowy indeks zamknij nawias kwadratowy znak równości slowo kropka replace otwórz nawias okrągły cudzysłów prawy ukośnik cudzysłów przecinek cudzysłów cudzysłów zamknij nawias okrągły.
Linia 11. def radix podkreślnik sort otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 12. dlugosc podkreślnik najdluzszego podkreślnik slowa znak równości max otwórz nawias okrągły otwórz nawias kwadratowy len otwórz nawias okrągły slowo zamknij nawias okrągły for slowo in dane zamknij nawias kwadratowy zamknij nawias okrągły.
Linia 14. przygotuj podkreślnik slowa otwórz nawias okrągły dane przecinek dlugosc podkreślnik najdluzszego podkreślnik slowa zamknij nawias okrągły.
Linia 16. for i in range otwórz nawias okrągły dlugosc podkreślnik najdluzszego podkreślnik slowa minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 17. sortowanie podkreślnik przez podkreślnik zliczanie otwórz nawias okrągły dane przecinek i zamknij nawias okrągły.
Linia 19. wyczysc podkreślnik napisy otwórz nawias okrągły dane zamknij nawias okrągły.
Linia 21. return dane.
Linia 23. def sortowanie podkreślnik przez podkreślnik zliczanie otwórz nawias okrągły dane przecinek indeks podkreślnik znaku zamknij nawias okrągły dwukropek.
Linia 24. lista podkreślnik zliczen podkreślnik liczb znak równości otwórz nawias kwadratowy 0 for x in range otwórz nawias okrągły 11 zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 25. for slowo in dane dwukropek.
Linia 26. odczytany podkreślnik kod podkreślnik znaku znak równości ord otwórz nawias okrągły slowo otwórz nawias kwadratowy indeks podkreślnik znaku zamknij nawias kwadratowy zamknij nawias okrągły minus ord otwórz nawias okrągły cudzysłów prawy ukośnik cudzysłów zamknij nawias okrągły.
Linia 27. lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy odczytany podkreślnik kod podkreślnik znaku zamknij nawias kwadratowy plus znak równości 1.
Linia 29. for i in range otwórz nawias okrągły len otwórz nawias okrągły lista podkreślnik zliczen podkreślnik liczb zamknij nawias okrągły minus 2 przecinek minus 1 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 30. lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy i zamknij nawias kwadratowy plus znak równości lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy i plus 1 zamknij nawias kwadratowy.
Linia 32. temp znak równości otwórz nawias kwadratowy cudzysłów cudzysłów for slowo in dane zamknij nawias kwadratowy.
Linia 34. for i in range otwórz nawias okrągły len otwórz nawias okrągły dane zamknij nawias okrągły minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 35. odczytany podkreślnik kod podkreślnik znaku znak równości ord otwórz nawias okrągły dane otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy indeks podkreślnik znaku zamknij nawias kwadratowy zamknij nawias okrągły minus ord otwórz nawias okrągły cudzysłów prawy ukośnik cudzysłów zamknij nawias okrągły.
Linia 36. indeks podkreślnik w podkreślnik liscie podkreślnik wynikowej znak równości lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy odczytany podkreślnik kod podkreślnik znaku zamknij nawias kwadratowy minus 1.
Linia 37. temp otwórz nawias kwadratowy indeks podkreślnik w podkreślnik liscie podkreślnik wynikowej zamknij nawias kwadratowy znak równości dane otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 38. lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy odczytany podkreślnik kod podkreślnik znaku zamknij nawias kwadratowy minus znak równości 1.
Linia 40. for i in range otwórz nawias okrągły len otwórz nawias okrągły temp zamknij nawias okrągły zamknij nawias okrągły dwukropek.
Linia 41. dane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości temp otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 43. dane znak równości otwórz nawias kwadratowy.
Linia 44. cudzysłów 0123 cudzysłów przecinek.
Linia 45. cudzysłów 94141 cudzysłów przecinek.
Linia 46. cudzysłów 119 cudzysłów przecinek.
Linia 47. cudzysłów 4964 cudzysłów przecinek.
Linia 48. cudzysłów 750 cudzysłów przecinek.
Linia 49. cudzysłów 0 cudzysłów.
Linia 50. zamknij nawias kwadratowy.
Linia 52. print otwórz nawias okrągły radix podkreślnik sort otwórz nawias okrągły dane zamknij nawias okrągły zamknij nawias okrągły.
31
Ćwiczenie 4
Do konkursu dla startupów zgłosiło się wielu uczestników. Organizatorzy dokonali wstępnej selekcji. Przedstawiciele firm mieli prezentować swoje oprogramowanie w kolejności alfabetycznej. Jedna z przedstawicielek poprosiła o wniesienie wcześniej przygotowanej przez jej zespół makiety. Zespół techniczny poprosił o informację, która w kolejności jest prezentacja aplikacji NoStress. Użyj sortowania pozycyjnego słów, aby wyznaczyć indeks tej prezentacji w posortowanej liście.
Dla ułatwienia nazwy startupów zapisano małymi literami oraz bez znaków diakrytycznych. Pozbyto się również spacji.
Specyfikacja problemu:
Dane:
dane – lista zawierająca nazwiska dziennikarek i dziennikarzy
Wynik:
indeks elementu nostress w posortowanej liście dane
R1290H4dHQauy
Przykładowe rozwiązanie zadania:
Linia 1. def przygotuj podkreślnik slowa otwórz nawias okrągły dane przecinek dlugosc podkreślnik najdluzszego podkreślnik slowa zamknij nawias okrągły dwukropek.
Linia 2. for indeks przecinek slowo in enumerate otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 3. while len otwórz nawias okrągły slowo zamknij nawias okrągły otwórz nawias ostrokątny dlugosc podkreślnik najdluzszego podkreślnik slowa dwukropek.
Linia 4. slowo plus znak równości cudzysłów ` cudzysłów.
Linia 5. dane otwórz nawias kwadratowy indeks zamknij nawias kwadratowy znak równości slowo.
Linia 7. def wyczysc podkreślnik napisy otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 8. for indeks przecinek slowo in enumerate otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 9. dane otwórz nawias kwadratowy indeks zamknij nawias kwadratowy znak równości slowo kropka replace otwórz nawias okrągły cudzysłów ` cudzysłów przecinek cudzysłów cudzysłów zamknij nawias okrągły.
Linia 11. def radix podkreślnik sort otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 12. dlugosc podkreślnik najdluzszego podkreślnik slowa znak równości max otwórz nawias okrągły otwórz nawias kwadratowy len otwórz nawias okrągły slowo zamknij nawias okrągły for slowo in dane zamknij nawias kwadratowy zamknij nawias okrągły.
Linia 14. przygotuj podkreślnik slowa otwórz nawias okrągły dane przecinek dlugosc podkreślnik najdluzszego podkreślnik slowa zamknij nawias okrągły.
Linia 16. for i in range otwórz nawias okrągły dlugosc podkreślnik najdluzszego podkreślnik slowa minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 17. sortowanie podkreślnik przez podkreślnik zliczanie otwórz nawias okrągły dane przecinek i zamknij nawias okrągły.
Linia 19. wyczysc podkreślnik napisy otwórz nawias okrągły dane zamknij nawias okrągły.
Linia 21. return dane.
Linia 24. def sortowanie podkreślnik przez podkreślnik zliczanie otwórz nawias okrągły dane przecinek indeks podkreślnik znaku zamknij nawias okrągły dwukropek.
Linia 25. lista podkreślnik zliczen podkreślnik liczb znak równości otwórz nawias kwadratowy 0 for x in range otwórz nawias okrągły 27 zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 26. for slowo in dane dwukropek.
Linia 27. odczytany podkreślnik kod podkreślnik znaku znak równości ord otwórz nawias okrągły slowo otwórz nawias kwadratowy indeks podkreślnik znaku zamknij nawias kwadratowy zamknij nawias okrągły minus ord otwórz nawias okrągły cudzysłów ` cudzysłów zamknij nawias okrągły.
Linia 28. lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy odczytany podkreślnik kod podkreślnik znaku zamknij nawias kwadratowy plus znak równości 1.
Linia 30. for i in range otwórz nawias okrągły 1 przecinek len otwórz nawias okrągły lista podkreślnik zliczen podkreślnik liczb zamknij nawias okrągły zamknij nawias okrągły dwukropek.
Linia 31. lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy i zamknij nawias kwadratowy plus znak równości lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy i minus 1 zamknij nawias kwadratowy.
Linia 33. temp znak równości otwórz nawias kwadratowy cudzysłów cudzysłów for slowo in dane zamknij nawias kwadratowy.
Linia 35. for i in range otwórz nawias okrągły len otwórz nawias okrągły dane zamknij nawias okrągły minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 36. odczytany podkreślnik kod podkreślnik znaku znak równości ord otwórz nawias okrągły dane otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy indeks podkreślnik znaku zamknij nawias kwadratowy zamknij nawias okrągły minus ord otwórz nawias okrągły cudzysłów ` cudzysłów zamknij nawias okrągły.
Linia 37. indeks podkreślnik w podkreślnik liscie podkreślnik wynikowej znak równości lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy odczytany podkreślnik kod podkreślnik znaku zamknij nawias kwadratowy minus 1.
Linia 38. temp otwórz nawias kwadratowy indeks podkreślnik w podkreślnik liscie podkreślnik wynikowej zamknij nawias kwadratowy znak równości dane otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 39. lista podkreślnik zliczen podkreślnik liczb otwórz nawias kwadratowy odczytany podkreślnik kod podkreślnik znaku zamknij nawias kwadratowy minus znak równości 1.
Linia 41. for i in range otwórz nawias okrągły len otwórz nawias okrągły temp zamknij nawias okrągły zamknij nawias okrągły dwukropek.
Linia 42. dane otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości temp otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 45. def znajdz podkreślnik nazwe otwórz nawias okrągły dane zamknij nawias okrągły dwukropek.
Linia 46. posortowane podkreślnik dane znak równości radix podkreślnik sort otwórz nawias okrągły dane zamknij nawias okrągły.
Linia 48. for indeks przecinek skladnik in enumerate otwórz nawias okrągły posortowane podkreślnik dane zamknij nawias okrągły dwukropek.
Linia 49. if skladnik znak równości znak równości cudzysłów nostress cudzysłów dwukropek.
Linia 50. return indeks.
Linia 51. return minus 1.
Linia 53. dane znak równości otwórz nawias kwadratowy.
Linia 54. cudzysłów nostress cudzysłów przecinek.
Linia 55. cudzysłów zdowozem cudzysłów przecinek.
Linia 56. cudzysłów zatrudniamy cudzysłów przecinek.
Linia 57. cudzysłów placteraz cudzysłów przecinek.
Linia 58. cudzysłów zlinkujsie cudzysłów przecinek.
Linia 59. cudzysłów bezkorkow cudzysłów przecinek.
Linia 60. cudzysłów zgadajsie cudzysłów przecinek.
Linia 61. cudzysłów zdrugiejreki cudzysłów przecinek.
Linia 62. cudzysłów drugiezycie cudzysłów przecinek.
Linia 63. cudzysłów rowermiejski cudzysłów przecinek.
Linia 64. cudzysłów kiedytramwaj cudzysłów przecinek.
Linia 65. cudzysłów zpierwszejreki cudzysłów przecinek.
Linia 66. cudzysłów ekomiasto cudzysłów przecinek.
Linia 67. cudzysłów cosdobrego cudzysłów.
Linia 68. zamknij nawias kwadratowy.
Linia 70. print otwórz nawias okrągły znajdz podkreślnik nazwe otwórz nawias okrągły dane zamknij nawias okrągły zamknij nawias okrągły.