Języki symboliczne, laboratorium 07 Zadanie 1. Napisz funkcję
Transkrypt
Języki symboliczne, laboratorium 07 Zadanie 1. Napisz funkcję
Języki symboliczne, laboratorium 07 Zadanie 1. Napisz funkcję sprawdzającą czy liczba przesłana jako argument jest liczbą pierwszą (wykorzystaj else do pętli for). Napisz funkcję zwracającą podaną liczbę Mersenne'a ( M ( p)=2 p 1 ). Sprawdź które liczby Mersenne'a dla p=1, 2, …, 31 są pierwsze. Oznacz typ zwracany przez funkcje (przy pomocy -> typ). https://docs.python.org/3/tutorial/controlflow.html#defining-functions Zadanie 2. Napisz funkcję przyjmującą dwa argumenty: tekst do wypisania oraz szerokość linii (argument o domyślnej wartości 80), wypisującą przesłany tekst wycentrowany w linii. Przykładowe wywołania: printCenter("Zażółć gęślą jaźń") printCenter("Zażółć gęślą jaźń", 70) https://docs.python.org/3/tutorial/controlflow.html#more-on-defining-functions https://docs.python.org/3/tutorial/controlflow.html#function-annotations Zadanie 3. Napisz funkcję przyjmującą cztery argumenty: x początkowe (domyślnie -1), x końcowe (domyślnie 1), liczbę przedziałów (domyślnie 10) oraz fx. Funkcja powinna wypisywać wartości x oraz funkcji przesłanej jako argument fx dla x z podanego zakresu. Zaprezentuj działanie funkcji wykorzystując lambda wyrażenia (prześlij fx jako lambdę). Przykładowe wywołania: https://docs.python.org/3/tutorial/controlflow.html#keyword-arguments https://docs.python.org/3/tutorial/controlflow.html#lambda-expressions Zadanie 4. Napisz funkcję wypisującą napisy końcowe (filmu, serialu, tego programu). Funkcja ta powinna przyjmować dowolną liczbę argumentów i wypisywać każdy kolejny co sekundę, wycentrowany – najpierw argumenty zwykłe, potem kluczowe. Wykorzystaj funkcję z zadania 3. Przykładowe wywołanie i wypisany tekst: Do pobrania długości tekstu można użyć funkcji len(). Do czekania wykorzystaj funkcję time.sleep() – aby jej użyć należy zaimportować moduł time: import time Dodaj dokumentację do funkcji – opisz jakie argumenty przyjmuje i co robi. https://docs.python.org/3/tutorial/controlflow.html#arbitrary-argument-lists https://docs.python.org/3/tutorial/controlflow.html#documentation-strings Zadanie 5. Zmodyfikuj funkcję z zadania 4. tak, aby każda z linii wypisywała się po jednym znaku. Zawartość linii powinna być cały czas wycentrowana (tekst rozszerza się w obie strony). Funkcja powinna dodatkowo przyjmować argument określający szerokość linii. Podpowiedź: wypisanie "\r" powoduje powrót na początek linii.