Basics of programming (Python)

  1. 2019-10-02: Introduction to Python

    Homework: Install Python 2.7. or Python 3 and test the commands presented in the last class.

  2. 2019-10-09: Introduction to Python
  3. 2019-10-16: Introduction to Python
  4. 2019-10-23: Introduction to Python
  5. 2019-10-30: Various tasks
    1. Napisz funkcję, która zapyta użytkownika o liczby x i y, a następnie obliczy działanie:

    2. Napisz funkcję, która zapyta użytkownika w pętli 'for' trzy razy o podanie liczby, a następnie wydrukuje pierwiastki tych liczb z dokładnością do trzech miejsc po przecinku.
      Przykładowe działanie programu:

      pierwiastki_liczb()
      Podaj liczbę: 4
      Pierwiastek liczby 4 wynosi 2.000.
      Podaj liczbę: 10
      Pierwiastek liczby 10 wynosi 3.162.
      Podaj liczbę: 16
      Pierwiastek liczby 16 wynosi 4.000.
      

    3. Stwórz funkję, która zapyta użytkownika o to, jaki jest dzisiaj dzień. Następnie zapyta, która jest godzina. Na koniec wydrukuje stosowny komunikat, np. Dzisiaj jest czwartek, godzina 10:30. Skorzystaj z formatu drukowania %s.
    4. Stwórz tablicę z imionami, a następnie wydrukuj elementy tablicy w tym formacie:
      0 => Basia
      1 => Maciej
      2 => Andżela
      3 => Piotr

      Skorzystaj z funkcji 'enumerate'.

    5. Napisz funkcję, w której zdefiniujesz jakieś hasło, a kiedy hasło zostanie wpisane, program wydrukuje 'Doskonale!' (Skorzystaj z pętli 'while'.)

      Przykładowe działanie programu:

      Podaj hasło: j
      Podaj hasło: j
      Podaj hasło: m
      Podaj hasło: Angelina
      Doskonale!
    6. Napisz funkcję, w której zapytasz użytkownika o tekst oraz liczbę. Następnie sprawdź czy litera 'a' wystąpiła w podanym tekście przynajmiej tyle razy, ile podał użytkownik. Jeśli tak, wydrukuj komunikat: 'Tekst spełnia wymagania.' Jeśli nie, to wydrukuj: 'Ale pech. Spróbuj jeszcze raz.'
      >>> sprawdzaj()
      Podaj tekst: aaa
      Podaj liczbę: 3
      Tekst spełnia wymagania.
  6. Homework: Install Python 2.7. or Python 3 and the NLTK on your home computers.

    ------ALBO------

    1. Uruchom wiersz poleceń:
      cmd.exe
    2. Przejdź do katalogu, w którym jest python.exe, na przykład wpisując:
      cd c:\python27
    3. Wpisz "dir", aby wydrukować zawartość folderu i sprawdzić, czy jest python.exe.
    4. Uruchom polecenie:
      python -m pip install nltk

    ------ALBO------

    1. Uruchom wiersz poleceń:
      cmd.exe
    2. Przejdź do katalogu, w którym jest python.exe, na przykład wpisując:
      cd c:\python27
    3. Wpisz "dir", aby wydrukować zawartość folderu i sprawdzić, czy jest python.exe.
    4. Uruchom polecenie:
      python -m pip install --upgrade pip
    5. Uruchom polecenie:
      python -m pip install --upgrade --force-reinstall nltk
    6. NLTK installation

  7. 2019-11-06: NLTK book, Chapter 1

    Homework:
    NLTK Book
    Your Turn: How many times does the word lol appear in text5? How much is this as a percentage of the total number of words in this text?

  8. 2019-11-13: NLTK book, Chapter 1
  9. 2019-11-20: NLTK book, Chapter 1
    Homework: Do the exercises 1-10 at the end of Chapter 1, NLTK book.

    Dispersion plot for exercise 6:

  10. 2019-11-27: NLTK book, Chapter 1

    Homework:

    1. Prepare for a small test.
    2. Install matplotlib and scipy packages. Open command line and go to Python directory and run the following commands:
      cmd.exe
      cd c:\python27
      python -m pip install matplotlib
      python -m pip install scipy
    3. If collocations() - for example text4.collocations() - do not work at your computer, you can repair them by editing the text.py file in the followig way described here: https://github.com/nltk/nltk/issues/2299

      Edit lines 440 and 441.

      old code:

      collocation_strings = [w1 + ' ' + w2 for w1, w2 in self.collocation_list(num, window_size)]*
      print(tokenwrap(collocation_strings, separator="; "))

      new code:

      print(tokenwrap(self.collocation_list(), separator="; "))

  11. 2019-12-04: NLTK book, Chapter 1
  12. 2019-12-11: NLTK book, Chapter 1 - exercises

    Homework: Do the exercises 11-29 at the end of Chapter 1, NLTK book.

  13. 2019-12-18: NLTK book, Chapter 2

    http://bachan.speechlabs.pl/files/New_York_Times.zip

    Zadanie 1: Załaduj korpus New_York_Times.
    Zadanie 2: Wydrukuj nazwy plików w tym korpusie.
    Zadanie 3: Zbuduj konkordans dla wyrazu 'sisters' w pliku 1.
    Zadanie 4: Wydrukuj tylko te wyrazy z pliku 1, które są pisane wielkimi literami, np. BROOKS.
    Zadanie 5: Policz, ile jest zdań w pliku 2.
    Zadanie 6: Wydrukuj 60 pierwszych znaków z pliku 3.

  14. 2020-01-08: Revision exercises
    Zadanie 1: Ściągnij, rozpakuj i załaduj korpus do nltk.
    Zadanie 2: Wydrukuj nazwy plików w tym korpusie.
    Zadanie 3: Zbuduj konkordans dla wyrazu 'Brexit' w pliku Times_file_01.txt.
    Zadanie 4: Znormalizuj tekst z pliku Times_file_01.txt do małych liter i oblicz, ile jest typów wyrazów.
    Zadanie 5: Stwórz listę frekwencyjną wyrazów z pliku Times_file_01.txt. Następnie wydrukuj tylko te wyrazy, które pojawiły się 4 lub więcej razy. Wyświetl wyraz i liczbę wystąpień tego wyrazu w formacie: wyraz <=> liczba.
    Zadanie 6: Wydrukuj najkrótsze zdanie (lub zdania) z pliku Times_file_02.txt.
    Zadanie 7: Wydrukuj cyfry (nie liczby!) w pliku Times_file_03.txt.
    Zadanie 8: Zsumuj cyfry z zadania 7.
    Zadanie 9: Napisz funkcję, w której zapytasz użytkownika o imię oraz ilość wykonanych zadań. Jeżeli liczba jest większa od 3, to wydrukuj informację 'imię, bardzo dobrze!.', a jeśli nie to wydrukuj 'imię, musisz więcej pracować w domu.' => Za 'imię' należy podstawić to, co wpisał użytkownik, czyli np. 'Jola, bardzo dobrze!' lub 'Jola, musisz więcej pracować w domu.'
    Zadanie 10: Napisz funkcję, która zapyta użytkownika o liczby x i y, a następnie obliczy działanie:

    Zadanie 11: Napisz funkcję, która zapyta użytkownika w pętli 'for' trzy razy o podanie liczby, a następnie wydrukuje sześciany tych liczb.
    Przykładowe działanie programu:

    >>> szesciany_liczb()
    Podaj liczbę: 3
    Sześcian liczby 3 wynosi 27.
    Podaj liczbę: 5
    Sześcian liczby 5 wynosi 125.
    Podaj liczbę: 4
    Sześcian liczby 4 wynosi 64.
    
  15. 2020-01-15: Revision exercises

    1. Ściągnij, rozpakuj i załaduj korpus do nltk. Korpus znajduje się tutaj: http://bachan.speechlabs.pl/files/Corpus_test1_A.zip
    2. Wydrukuj nazwy plików w tym korpusie.
    3. Zbuduj konkordans dla wyrazu „Sala” w pliku paper1.txt.
    4. Wydrukuj tylko te wyrazy z pliku paper1.txt, które mają 10 liter.
    5. Wydrukuj tylko te wyrazy z pliku paper1.txt, które mają ciąg liter „ff”.
    6. Stwórz listę frekwencyjną wyrazów z pliku paper1.txt. Następnie wydrukuj tylko te wyrazy i tokeny, które pojawiły więcej niż 3 razy w tekście. Wyświetl wyraz i liczbę wystąpień tego wyrazu/tokenu w formacie: wyraz *** >>> *** liczba.
    7. Policz, ile jest różnych typów znaków w pliku paper2.txt.
    8. Wydrukuj tylko duże litery z pliku paper2.txt.
    9. Wydrukuj 21 ostatnich znaków z pliku paper2.txt.
    10. Policz, ile jest zdań w pliku paper3.txt.
    11. Skonkatenuj dwa pierwsze wyrazy dwóch pierwszych zdań z pliku paper3.txt, aby powstał tekst „EmilianoJames”.
    12. Wydrukuj najdłuższe zdanie z pliku paper3.txt.
    13. Wydrukuj drugi wyraz z ostatniego zdania z pliku paper3.txt.
    14. Napisz funkcję, która zapyta użytkownika o liczby x i y, a następnie obliczy działanie:


    15. Napisz funkcję, która zapyta użytkownika o Twoje ulubione danie oraz jak często jesz to danie. Jeśli jesz to danie cztery razy w tygodniu lub więcej, to wydrukuj komunikat: „Ty naprawdę kochasz DANIE!”. Jeśli jesz to danie rzadziej, to wydrukuj komunikat: „DANIE to dobre danie, ale nie najlepsze.” Za DANIE podstaw tekst, który wpisałeś/-aś, korzystając z operatora %s.
    16. Napisz funkcję, która zapyta użytkownika o podanie liczby oraz o tekst, a następnie wydrukuje tekst tyle razy, ile wynosi liczba podana przez użytkownika w jednym ciągu. Jeśli wydrukowany tekst będzie dłuższy lub równy 30 znakom, to wydrukuje "BRAWO!", a jeśli nie, to pojawi się komunikat "Spróbuj jeszcze raz!".
    Skorzystaj z funkcji len, np. len(tekst)
    Przykładowe działanie programu:

    >>> dlugosc_tekstu()
    Podaj liczbę: 5
    Podaj tekst: Jolanta
    JolantaJolantaJolantaJolantaJolanta
    BRAWO!