Zadania wg (P. Bednarza)
(gwiazdka oznacza zadania trudniejsze – dodatkowe/dla chętnych)
- Zaimplementuj funkcję kalkulator(d, a, b), która przyjmuje jako parametr rodzaj wykonywanego działania i dwa parametry liczbowe i zwraca wynik w postaci liczbowej. Można założyć, że działanie jest pojedynczym znakiem ze zbioru {“+”, “-“, “*”, “/”}. Przykładowo kalkulator(“+”, 2, 2) ma zwrócić 4.
- (*) Spróbuj rozwiązać to zadanie sprytniej przy pomocy funkcji eval.
- Rozwiąż problem double_sum.
- Napisz funkcję cezar(napis, przesuniecie), która dla parametru napisowego napis i parametru całkowitego przesuniecie zwróci napis zaszyfrowany szyfrem Cezara z odpowiednim przesunięciem (użyj funkcji chr i ord do kodowania i odkodowywania liter; załóż, że napis składa się z liter alfabetu angielskiego).
- Napisz iteracyjną funkcję fib(n), która dla zadanej liczby całkowitej dodatniej n zwróci n-ty wyraz ciągu Fibonacciego.
- (*) Napisz rekurencyjną wersję funkcji fib z poprzedniego zadania.
- Napisz funkcję palindom(s), która dla zadanego ciągu znaków s sprawdzi, czy napis ten jest palindromem.
- Anagramem słowa s nazywamy słowo w powstałe przez poprzestawianie liter w słowie s. Napisz funckję anagram(s,w), zwracającą wartość True wtedy i tylko wtedy, gdy w jest anagramem s.
- Zaimplementuj funkcje insertion_sort(l), bubble_sort(l) i selection_sort(l), wykonujące odpowiednio sortowanie przez wstawianie, sortowanie bąbelkowe i sortowanie przez wybór.
- Napisz funkcję cezar z zadania 4 przy użyciu funkcji map.