Basics of programming (Python) - second-year students of computational linguistics

  1. 2024-10-08: Introduction to Python

    Instrukcja instalacji narzędzi

    1. Ściągnij Python, wersja 3.10.10 dla systemu 32-bit lub 64-bit.
    2. Zainstaluj python-3.10.10.exe (32-bit) lub python-3.10.10-amd64.exe (64-bit).
    3. Otwórz IDLE (Python) z menu programów.
    4. Przywitaj się ze światem komendą: print ('Hello world!')
    5. W oknie Python Shell idź do File -> Save As i skopiuj ścieżkę, w której jest plik python.exe.
    Np. C:\Users\jbach\AppData\Local\Programs\Python\Python310-64
    6. W polu z lupą na pasku narzędzi w Windows 10 wyszukaj "Uruchom" i wpisz "cmd". Otworzy się okno z wierszem poleceń.
    7. W oknie wpisz "cd", a po spacji wklej ścieżkę, którą skopiowałeś w punkcie 4. Np. cała komenda będzie wyglądała tak:

    cd C:\Users\jbach\AppData\Local\Programs\Python\Python310-64

    Zatwierdź komendę, klikając ENTER.
    Polecenie powyżej przenosi do katalogu, w którym jest plik python.exe. Możesz go zobaczyć, wpisując dir i zatwierdzając przez kliknięcie na ENTER.
    8. Zainstaluj pip komendą: python -m pip install --upgrade pip. Jeżeli masz problemy z instalacją 'pip', spróbuj rozwiązać je, korzystając z TEJ strony.
    9. Zainstaluj nltk komendą: python -m pip install nltk
    10. Zainstaluj matplotlib komendą: python -m pip install -U matplotlib
    11. Zainstaluj numpy komendą: python -m pip install -U numpy
    12. Otwórz ponownie IDLE (Python) z menu programów.
    13. Zaimportuj nltk komendą: import nltk
    14. Ściągnij korpusy i narzędzia do NLTK komendą: nltk.download()
    Pojawi się okno, z którego wybierz "Everything used in the NLTK Book" i kliknij "Download".
    15. Jeżeli nie pojawiły się błędy podczas pobierania danych, to możesz przetestować, czy wszystko jest w porządku komendą:

    from nltk.book import *

    Powinien pojawić się niebieski tekst:

    *** Introductory Examples for the NLTK Book ***
    Loading text1, ..., text9 and sent1, ..., sent9
    Type the name of the text or sentence to view it.
    Type: 'texts()' or 'sents()' to list the materials.
    text1: Moby Dick by Herman Melville 1851
    text2: Sense and Sensibility by Jane Austen 1811
    text3: The Book of Genesis
    text4: Inaugural Address Corpus
    text5: Chat Corpus
    text6: Monty Python and the Holy Grail
    text7: Wall Street Journal
    text8: Personals Corpus
    text9: The Man Who Was Thursday by G . K . Chesterton 1908

    16. Przetestuj, czy masz pakiety Matplotlib i NumPy komendą:

    text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])

    Jeżeli pojawił się wykres rozproszenia, to Python i NLTK są poprawnie zainstalowane. Gratulacje!

  2. 2024-10-15: Introduction to Python, cont.
  3. 2024-10-22: Introduction to Python, cont.
  4. 2024-10-29: Introduction to Python, cont.
  5. 2024-11-05: Introduction to Python, final slides
    1. Napisz funkcję, która zapyta użytkownika o liczby x i y, a następnie obliczy działanie:

    2. 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: jajko
      Podaj hasło: 123abc
      Podaj hasło: Kasia
      Podaj hasło: Angelina
      Doskonale!
    3. 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ę: 
      Pierwiastek liczby 4 wynosi 2.000.
      Podaj liczbę: 10
      Pierwiastek liczby 10 wynosi 3.162.
      Podaj liczbę: 16
      Pierwiastek liczby 16 wynosi 4.000.
      

    4. Stwórz funkcję, 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.
    5. 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'.

    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: salamandra
      Podaj liczbę: 3
      Tekst spełnia wymagania.
  6. 2024-11-12: NLTK book, Chapter 1, Section 1: Computing with Language: Texts and Words

    Homework: Do again at home the tasks from section 1 which were presented in class and check if your Python and nltk settings are working on your computer at home.

  7. 2024-11-19: NLTK book, Chapter 1, Section 2: A Closer Look at Python: Texts as Lists of Words
  8. 2024-12-10: 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.
    >> Zadanie 7: Dodaj plik tekstowy do korpusu New_York_Times z listą wyrazową (bez polskich znaków). Wydrukuj najdłuższy wyraz z tego pliku.