Zadania powtórkowe:
1. Napisz rekurencyjną funkcję check_sort(v), która sprawdzi, czy lista v jest posortowana (ściśle, rosnąco lub malejąco).
2. Weźmy funkcję f zdefiniowaną następująco:
def f(n): if n % 2 == 0: return n / 2 else: return 3*n + 1
Napisz rekurencyjną funkcję collatz_steps(n), która zwróci dla zadanego n liczbę elementów ciągu n, f(n), f(f(n)), …, potrzebnych do osiągnięcia 1. Np.
collatz_steps(1) == 0 collatz_steps(4) == 2
3. Napisz 2 wersje (iteracyjną i rekurencyjną) funkcji incr_segment(v), która dla zadanej listy v zwróci jej najdłuższy rosnący segment (spójny kawałek).
4. (★) Napisz rekurencyjną funkcję rev_number(n), która dla danej liczby całkowitej n zwróci liczbę powstałą z n poprzez odwócenie porządku cyfr (np. rev_number(123)=321). Uwaga: chodzi o rozwiązanie używające wyłącznie operacji na liczbach całkowitych.
Operacje na napisach:
5. Używając maksymalnie trzech wywołań funkcji strip, rstrip, lstrip należy przekształcić:
- ‘abcccbca’ w ‘ccc’
- ‘bababa’ w ‘ab’
6. Zastąp spacje przez myślniki w napisie ” lorem ipsum dolor sit amet, consectetur Adipiscing elit . nunc sit amet ligula in nisi varius mattis nec a urna . phasellus tristique vehicula elit id imperdiet. lorem ipsum dolor sit amet , consectetur adipiscing Elit. Nunc orci libero, accumsan quis Cursus vel , pretium nec dui. Nunc lobortis mollis felis, at malesuada velit volutpat Id. Pellentesque Quis iaculis massa . vestibulum Commodo Egestas fringilla . proin quis justo nunc. Nam sed ultricies orci. curabitur adipiscing , Dolor vel rhoncus Accumsan , sapien tellus volutpat eros , At luctus mi augue sit Amet turpis . Aliquam sagittis, lacus id commodo volutpat , erat Justo auctor massa, in faucibus quam lectus et libero. curabitur laoreet Risus in urna aliquet Vel fringilla felis volutpat. morbi Suscipit purus Velit . “ używając:
- funkcji replace
- funkcji split i join
7. Napisz skrypt, który dokona korekty tekstu z poprzedniego ćwiczenia:
- każde słowo rozpoczynające zdanie musi zaczynać się z dużej litery,
- pozostałe słowa zaczynają się z małej litery,
- sąsiednie słowa muszą być rozdzielone dokładnie jedną spacją,
- znaki interpunkcyjne przylegają do poprzedzającego je słowa,
- tekst rozpczyna się od słowa, a kończy kropką (należy usunąć zbędne białe znaki).
Zadania z kolokwiów:
Kolokwium 2012:
– zadanie 1 – segmenty (było na kartkówce)
Kolokwium poprawkowe 2012:
– zadanie 2 i 3 – quasindromy
– zadanie 1 – ceny