Zdefiniuj funkcję szyfruj(tekst), która jeśli długość łańcucha tekst będzie nieparzysta, doda na jego końcu znak „]”. Następnie funkcja ma podzielić łańcuch tekst na 2 równe części A i B i zwrócić nowy łańcuch zbudowany jako B+A, gdzie A powinno mieć odwróconą kolejność znaków.
Specyfikacja problemu:
Dane:
tekst – łańcuch znaków do zaszyfrowania
Wynik:
szyfr – zaszyfrowany łańcuch znaków
Swój program przetestuj dla zmiennej tekst o wartości Lupus in fabula.
RIsneMk6BEbxK
Linia 1. def szyfruj otwórz nawias okrągły tekst zamknij nawias okrągły dwukropek.
Linia 2. dlugosc znak równości len otwórz nawias okrągły tekst zamknij nawias okrągły.
Linia 3. if dlugosc procent 2 znak równości znak równości 1 dwukropek.
Linia 4. tekst plus znak równości cudzysłów zamknij nawias kwadratowy cudzysłów.
Linia 5. dlugosc plus znak równości 1.
Linia 7. a znak równości tekst otwórz nawias kwadratowy dwukropek int otwórz nawias okrągły dlugosc prawy ukośnik 2 zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 8. b znak równości tekst otwórz nawias kwadratowy int otwórz nawias okrągły dlugosc prawy ukośnik 2 zamknij nawias okrągły dwukropek zamknij nawias kwadratowy.
Linia 9. return b plus a otwórz nawias kwadratowy dwukropek dwukropek minus 1 zamknij nawias kwadratowy.
Linia 11. tekst znak równości cudzysłów Lupus in fabula cudzysłów.
Linia 12. szyfr znak równości szyfruj otwórz nawias okrągły tekst zamknij nawias okrągły.
Linia 13. print otwórz nawias okrągły szyfr zamknij nawias okrągły.
311
Ćwiczenie 2
Zdefiniuj funkcję szyfruj(tekst, klucz, odwrocona), która zrealizuje szyfrowanie łańcucha znaków tekst za pomocą szyfru płotkowego z kluczem klucz i zwróci zaszyfrowany łańcuch znaków. Wartość domyślna zmiennej odwrocona powinna być równa False, a gdy będzie wynosić True, do szyfrowania powinien posłużyć odwrócony łańcuch znaków tekst.
Specyfikacja problemu:
Dane:
tekst – łańcuch znaków do zaszyfrowania
klucz – liczba naturalna; klucz szyfru
odwrocona – wartość logiczna
Wynik:
szyfr – zaszyfrowany łańcuch znaków
Swój program przetestuj dla zmiennych tekst o wartości Lupus in fabula, klucz o wartości 3 i odwrocona o wartości True.
R1SME26uiyOTc
Linia 1. def szyfruj otwórz nawias okrągły tekst przecinek klucz przecinek odwrocona znak równości False zamknij nawias okrągły dwukropek.
Linia 2. if odwrocona dwukropek.
Linia 3. tekst znak równości tekst otwórz nawias kwadratowy dwukropek dwukropek minus 1 zamknij nawias kwadratowy.
Linia 5. kratka tworzymy listę dwuwymiarową wypełnioną znakami tylda.
Linia 6. plotki znak równości otwórz nawias kwadratowy otwórz nawias kwadratowy cudzysłów tylda cudzysłów for i in range otwórz nawias okrągły klucz zamknij nawias okrągły zamknij nawias kwadratowy for j in range otwórz nawias okrągły len otwórz nawias okrągły tekst zamknij nawias okrągły zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 7. kolumna znak równości otwórz nawias kwadratowy i for i in range otwórz nawias okrągły klucz zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 9. zaszyfrowany znak równości cudzysłów cudzysłów.
Linia 10. for i in range otwórz nawias okrągły klucz minus 2 przecinek 0 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 11. kolumna kropka append otwórz nawias okrągły i zamknij nawias okrągły.
Linia 12. wiersz znak równości 0.
Linia 14. while tekst dwukropek.
Linia 15. for i in kolumna dwukropek.
Linia 16. if tekst dwukropek.
Linia 17. plotki otwórz nawias kwadratowy wiersz zamknij nawias kwadratowy otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości tekst otwórz nawias kwadratowy 0 zamknij nawias kwadratowy.
Linia 18. tekst znak równości tekst otwórz nawias kwadratowy 1 dwukropek zamknij nawias kwadratowy.
Linia 19. wiersz plus znak równości 1.
Linia 21. for i in range otwórz nawias okrągły klucz zamknij nawias okrągły dwukropek.
Linia 22. for j in range otwórz nawias okrągły len otwórz nawias okrągły plotki zamknij nawias okrągły zamknij nawias okrągły dwukropek.
Linia 23. if plotki otwórz nawias kwadratowy j zamknij nawias kwadratowy otwórz nawias kwadratowy i zamknij nawias kwadratowy wykrzyknik znak równości cudzysłów tylda cudzysłów dwukropek.
Linia 24. zaszyfrowany plus znak równości plotki otwórz nawias kwadratowy j zamknij nawias kwadratowy otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 26. return zaszyfrowany.
Linia 29. print otwórz nawias okrągły szyfruj otwórz nawias okrągły cudzysłów Lupus in fabula cudzysłów przecinek 3 przecinek True zamknij nawias okrągły zamknij nawias okrągły.