Skip to content

Podstawy działania w mu-editor – operacje na tekstach

Dzisiaj chciałbym, abyśmy wspólnie wykonali trzy proste programy w Python z wykorzystaniem Mu. W ten sposób nauczymy się zarówno języka programowania, jak i obsługi środowiska Mu.

Oczywiście o Mu pisałem już trochę – możesz przeczytać.

Na początek wyjaśnię podstawowe funkcje przycisków:

* Tryb – służy do zmiany trybu działania Mu; mamy do wyboru kilka trybów, ale w naszych działaniach będziemy wykorzystywali Tryb Python 3

* Nowy, Otwórz, Zapisz – te funkcje chyba nie wymagają opisu

* Wykonuj – ten przycisk uruchamia skrypt, wówczas zmienia się na „Zatrzymaj”

* Debuguj – wówczas uruchamiamy tryb „odpluskiwania” (testowania), widzimy wówczas wszystkie zmienne i ich wartości

* REPL – Tryb wykonywania instrukcji za instrukcją (uruchamia środowisko Jupyter IPython Console)

* Plotter – pozwala na tworzenie aktywnych wykresów danych zmieniających się w czasie – świetna funkcja, której poświęcę inny artykuł

* Sprawdź – to ciekawa funkcja, która pozwala sprawdzić, czy nie popełniliśmy błędu przy pisaniu kodu, czasami też podpowiada dobre praktyki programistyczne (zgodne ze standardem PEP)

Najpierw proste zadanie: mamy 3 zmienne (obiekty) typu znakowego (string), które chcemy wyświetlić jako jeden napis. Kod do tego jest prosty:

napis_1 = „to jest ”

napis_2 = „nasz „

napis_3 = „napis.”

print( napis_1 + napis_2 + napis_3 )

Proste – prawda? Oto, jak wygląda nasz program uruchamiany w środowisku Mu – krótki film, który nagrałem, aby zobrazować proces uruchamiania skryptów napisanych przez nas.

 

 

A teraz zadanie dla chętnych – może spróbujmy dodać linię:

print( napis_1 + 2 * napis_2 + napis_3 )

Wynik jest ciekawy… tak, w Pythonie można mnożyć napisy… z napisami można robić jeszcze ciekawsze rzeczy.

Ponieważ w Pythonie wszystko jest obiektem, zatem i zmienne są obiektami.

Możemy zatem zapisać nasz przykład jeszcze inaczej:

print( napis_1.capitalize() + napis_2 + napis_3 )

lub jeszcze inaczej:

print( napis_1.capitalize() + napis_2.upper() + napis_3 )

Proszę – pamiętaj, aby za każdym razem wykonać „URUCHOM

Co z tego wynika? Niby nic, ale przypatrzmy się różnym metodom – bo te dziwne funkcje za kropką nazywamy metodami w Pythonie i innych obiektowych językach programowania. Mamy do dyspozycji np.:

.find(znak)
.count(znak)
.lower()
.upper()
.swapcase()

Jak ich użyć, aby sprawdzić, co robią, jakie dają wyniki? Możemy do tego celu użyć trybu REPL, a w nim po prostu wykonać kilka instrukcji, potwierdzając za każdym razem klawiszem ENTER. To tryb, gdzie każde nasze polecenie jest od razu wykonywane. Przepatrzmy się filmikowi – nagrałem kilka takich poleceń, aby pokazać, jak działa ten tryb, jak możemy testować składnię Pythona.

 

 

A teraz czas na bardziej skomplikowany program – zapytamy użytkownika o imię, a następnie się z nim przywitamy.

imie = input('Podaj swoje imię... ')
print('Część ' + imie + ' - Ja mam ksywkę Python...')

Zobaczmy, co się tu dzieje… do zmiennej (obiektu) o nazwie imie „wczytujemy” wartość podaną przez użytkownika z klawiatury – to w podstawie programowej opisane jest jako stosowanie instrukcji wejścia/wyjścia, a konkretnie jest to „wejście” danych do komputera, podczas gdy funkcja print pozwala na „wyjście” danych z komputera, tym razem na ekran monitora.

Zatem mamy zrealizowane treści zgodnie z Podstawą Programową, a o to nam właśnie chodzi.

Teraz trzecie wyzwanie, dodamy do tego wszystkiego różne obliczenia – to również może być zadanie związane z treściami w podstawie programowej.

Pobierzemy, a więc „wczytamy” napis, najlepiej losowy, następnie dwukrotnie zapytamy się o szukane litery/znaki. Następnie zliczymy ilość ich wystąpień w tekście oraz sprawdzimy, na którym miejscu pojawiają się pierwszy raz. To jest przykład wykorzystania metod, które Python udostępnia nam dla zmiennych tekstowych. Przy okazji wprowadzamy dwie funkcje:

str(liczba) – zamienia liczbę całkowitą int na tekst string, a więc pozwala na dodanie tego w funkcji print

len(tekst) – zlicza długość tekstu (uwaga na przyszłość! zlicza długość zmiennej dowolnego typu, także tablic)

tekst = input('Podaj długi tekst: ')
szuk_1 = input('A teraz podaj pierwszą szukaną literę: ')
szuk_2 = input('A teraz podaj drugą szukaną literę, inną niż pierwsza : ')

ile_1 = tekst.count(szuk_1)
gdzie_1 = tekst.find(szuk_1)
ile_2 = tekst.count(szuk_2)
gdzie_2 = tekst.find(szuk_2)

print('Twój ciąg znaków liczy ' + str(len(tekst)) + ' znaków.')
print('Szukany znak: ' + szuk_1 + ' jest na pierwszej pozycji ' + str(gdzie_1) + ' > ' + str(ile_1) + ' razy.')
print('Szukany znak: ' + szuk_2 + ' jest na pierwszej pozycji ' + str(gdzie_2) + ' > ' + str(ile_2) + ' razy.')

 

Jak widzimy, pewne elementy się powtarzają (w końcu liczymy kilka rzeczy tak samo), i mam nadzieję, że kod jest zrozumiały.

To są moje subiektywne przykłady dla początkujących. Wiem, że zapewne można by lepiej, ładniej, szybciej, krócej, dłużej – inaczej. Dlatego też informatyka i programowanie ma swoją ideę – wolność – wolność tworzenia i dobierania sposobu rozwiązania. Jeśli – czytelniczko/czytelniku, uważasz, że masz lepsze pomysły niż ja na pokazywanie podstaw Pythona – zapraszam, napisz do mnie, założę Ci konto tu i będzie publikować – to otwarte miejsce dla każdej osoby chętnej.

A następnym razem (nie wiem kiedy, bo czasu zbyt wiele nie posiadam) postaram się coś z pętlami, tablicami….

Published inOpisy oprogramowaniaPrzykłady zadańPython 3

3 komentarze

  1. Super samouczek. Proszę o szybki ciąg dalszy.

  2. Ewelina Ewelina

    Dziękuje, super pomocnik, czekam na więcej
    pozdrawiam

  3. Dorota Dorota

    Bardzo pomocny materiał!
    Proszę o więcej. W sam raz żeby od czegoś zacząć w klasie 8. Uczniowie są wymagający. Czekam na cd.
    pozdrawiam

Dodaj komentarz

Twój adres email nie zostanie opublikowany.

3 × five =