Podstawy programowania w Pythonie

Podobne dokumenty
Języki i metody programowania

Podstawy programowania. Python wykład 6

Podstawy programowania w Pythonie

Język Python. Język Python 1/35

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie

Podstawy bioinformatyki 2017/18

Języki i metody programowania

Typy danych, cd. Łańcuchy znaków

Podstawy programowania w Pythonie

Python. Wprowadzenie. Jolanta Bachan

Podstawy programowania w Pythonie

Kurs rozszerzony języka Python

Podstawy programowania w Pythonie

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania).

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Zaawansowany kurs języka Python

Warsztaty dla nauczycieli

Wstęp do informatyki. Python 1

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Środowisko programisty

Wstęp do programowania

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

4. Funkcje. Przykłady

Programowanie w języku Python. Grażyna Koba

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Podstawy programowania skrót z wykładów:

Podstawy bioinformatyki 2017/18

Wykład 2 Składnia języka C# (cz. 1)

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Język Python (2) Język Python (2) 1/36

Wstęp do programowania

Python. Skąd taka nazwa? Kurs systemu UNIX 1

Podstawy programowania w Pythonie

Reprezentacja symboli w komputerze.

Programowanie robota mobilnego E-puck w języku Python

Algorytmy i struktury danych

Języki skryptowe Python

Podstawy Programowania C++

Spis treści. Funkcje. 1 Funkcje 1.1 Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie 7

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Python dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring

Podstawy programowania

Algorytmy i struktury danych

Podstawy bioinformatyki 2017/18

Podstawy programowania w języku C++

Reprezentacja symboli w komputerze. Znaki alfabetu i łańcuchy znakowe. Programowanie Proceduralne 1

Języki programowania obiektowego Nieobiektowe elementy języka C++

Programowanie - instrukcje sterujące

Język C zajęcia nr 5

lekcja 8a Gry komputerowe MasterMind

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Podstawy Programowania Podstawowa składnia języka C++

Oczywiście plik musi mieć rozszerzenie *.php

Liczby losowe i pętla while w języku Python

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Wstęp do Informatyki

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 11. Elektrotechnika, semestr II rok akademicki 2008/2009

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Podstawy programowania

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Informatyka 1. Przetwarzanie tekstów

Algorytmika i Programowanie VBA 1 - podstawy

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

2. Łańcuchy tekstowe w PHP

Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński

Wprowadzenie do Scilab: podstawy języka Scilab

System operacyjny Linux

Kurs języka Python. Wykład 11. Marcin Młotkowski. 4 stycznia Kontrola poprawności podczas biegu programu. 2 Testowanie oprogramowania

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

1 Podstawy c++ w pigułce.

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Reprezentacja symboli w komputerze.

Pętla for. Wynik działania programu:

Algorytmy i struktury danych

Powtórka algorytmów. Wprowadzenie do języka Java.

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

Programowanie komputerowe. Zajęcia 1

Narzędzia informatyczne w językoznawstwie

Python jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:

Transkrypt:

Podstawy programowania w Pythonie Wykład 7 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 28 listopada 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 1 / 1

Podstawy języka Python Instrukcja break Instrukcja break powoduje wyjście z najbliżej zagnieżdżonej pętli for lub while. def main(): s = 0 while True: a = input("podaj kolejną liczbę: ") if a == "": break s = s + float(a) print("suma wczytanych liczb wynosi", s) main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 2 / 1

Podstawy języka Python instrukcja break Przykład import turtle def main(): w = turtle.screen(); t = turtle.turtle() t.hideturtle(); t.speed(0); t.color( red, yellow ) t.goto(-300, 0); sp = t.position() t.begin_fill() while True: t.forward(600); t.left(170) if abs(sp - t.pos()) < 1: break t.end_fill() w.mainloop() main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 3 / 1

Podstawy języka Python Instrukcja break W przypadku gdy instrukcja iteracyjna for lub while zakończy się z powodu wykonania instrukcji break, blok instrukcji po klauzuli else nie zostanie wykonany. def main(): s = input("podaj łańcuch znaków: ") for c in s: if c == $ : print("znak $ został znaleziony!") break else: print("znak $ nie został znaleziony") main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 4 / 1

Podstawy języka Python Instrukcja continue Instrukcja continue powoduje pominięcie wszystkich instrukcji z najbliżej zagnieżdżonej pętli for lub while, w której występuje i przejście do kolejnego kroku iteracji. def main(): n = int(input("podaj liczbę naturalną: ")) for a in range(2, n): if a % 2 == 0: print("kolejna parzysta liczba to", a) continue print("kolejna liczba to", a) main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 5 / 1

Podstawy języka Python Instrukcja pass Instrukcja pass niczego nie robi. Może być użyta wszędzie tam, gdzie wymagana jest jakaś instrukcja z powodów składniowych, ale program nie przewiduje w tym miejscu żadnego działania. while True: pass # Czekaj na przerwanie z klawiatury (Ctrl+C) Instrukcja pass może być także użyta w procesie stopniowego tworzenia programu: jako ciało funkcji lub ciało instrukcji złożonej. def moja_bardzo_sprytna_funkcja(a, b, c): pass # Pamiętaj, aby mnie zaimplementować! dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 6 / 1

Podstawy języka Python Łańcuchy znaków czyli napisy Oprócz liczb Python może również manipulować łańcuchami znaków, które można wyrazić na parę sposobów. Moga one być objęte znakami apostrofu lub znakami cudzysłowu: >>> 'informatyka' 'informatyka' >>> "informatyka" 'informatyka' >>> 'A\'propos' "A'propos" >>> "A'propos" "A'propos" Łańcuchy znaków moga być także objęte potrójnymi znakami apostrofu lub potrójnymi znakami cudzysłowu. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 7 / 1

Podstawy języka Python Łańcuchy znaków czyli napisy Interpreter wypisuje wynik działań na napisach w ten sam sposób, w jaki sa one wprowadzane. Sa one objęte apostrofami lub cudzysłowami i zawieraja ewentualnie inne znaki poprzedzone znakiem ukośnika (\), tak aby w sposób dokładny pokazać zawartość napisu. Łańcuch znaków objęty jest para cudzysłowów, jeśli zawiera tylko apostrofy, w przeciwnym wypadku objęty jest para apostrofów. Funkcja print, może zostać użyta do wypisywania łańcuchów znaków bez okalajacych je cudzysłowów i bez znaków cytowania. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 8 / 1

Podstawy języka Python Łańcuchy znaków czyli napisy Łańcuchy znaków moga być sklejane za pomoca operatora + i powielane za pomoca operatora *. >>> print("hello" + ", " + "world!") Hello, world >>> print(3 * "Yes! ") Yes! Yes! Yes! dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 9 / 1

Podstawy języka Python Łańcuchy znaków czyli napisy Łańcuchy znaków można indeksować. Pierwszy znak w łańcuchu ma indeks (numer porzadkowy) 0. Nie istnieje osobny typ obejmujacy pojedyńcze znaki znak jest po prostu napisem o długości jeden. Łańcuchy znaków w Pythonie nie moga być modyfikowane. Próba przypisania do zaindeksowanej pozycji w łańcuchu powoduje powstanie błędu. >>> s = "programowanie" >>> s[0] = "P" Traceback (most recent call last): File «stdin>", line 1, in <module> TypeError: str object does not support item assignment dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 10 / 1

Podstawy języka Python Łańcuchy znaków czyli napisy Podłańcuchy znaków moga zostać wyspecyfikowane za pomoca notacji tzw. wykrawania: dwóch indeksów przedzielonych dwukropkiem: >>> "radość"[0:3] 'rad' >>> "radość"[2:6] 'dość' Indeksy wykrawania posiadaja użyteczne argumenty domyślne: pominięty pierwszy indeks posiada domyślna wartość zero, pominięty drugi domyślnie równy jest długości łańcucha znaków, którego dotyczy wykrawanie. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 11 / 1

Podstawy języka Python Łańcuchy znaków czyli napisy Operacji wykrawania posiada następujac a użyteczna własność: łańcuchy s[:i] + s[i:] oraz s sa równe. >>> "radość"[:3] + "radość"[3:] == "radość" True Niepoprawne indeksy wykrawania obsługiwane sa dość ostrożnie: indeks, który jest zbyt duży, zastępowany jest długościa łańcucha, ograniczenie górne, które jest mniejsze od ograniczenia dolnego, powoduje powstanie pustego napisu. >>> "radość"[:9] 'radość' >>> "radość"[3:2] '' dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 12 / 1

Podstawy języka Python Łańcuchy znaków czyli napisy Aby wyznaczyć podciag, liczac od prawej strony danego napisu, używa się indeksów będacych liczbami ujemnymi: >>> "radość"[-1] # Ostatni znak 'ć' >>> "radość"[-2] # Przedostatni znak 'ś' >>> "radość"[-3:] # Trzy ostatnie znaki 'ość' >>> "radość"[:-1] # Wszystkie, prócz ostatniego 'radoś' Ujemne wykrojenia, które przekraczaja ograniczenia napisu sa skracane. Wbudowana w interpreter funkcja len zwraca długość łańcucha. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 13 / 1

Podstawy języka Python Łańcuchy znaków czyli napisy Napisy można porównywać przy użyciu standardowych operatorów relacyjnych: ==,! =, <, <=, > i >=. Wynik porównania zgodny jest porzadkiem leksykograficznym wyznaczonym przez wartości punktów kodowych w Unicode znaków bioracych udział w porównaniu. >>> "Python" < "informatyka" True >>> "Python" < "Informatyka" False >>> "łopata" < "miotła" False dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 14 / 1

Podstawy języka Python Łańcuchy znaków czyli napisy Operator in słuzy do testowania czy dany napis jest podnapisem innego napisu. Operator not in słuzy do testowania czy dany napis nie jest podnapisem innego napisu. >>> "gram" in "programowanie" True >>> "program" in "programowanie" True >>> "nie" in "programowanie" True >>> "grama" in "programowanie" False dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 15 / 1

Podstawy języka Python napisy Przykład def main(): napis = input("podaj łańcuch znaków: ") print(remove_vovels(napis)) def remove_vovels(s): """ Usuwa samogłoski z napisu s""" vowels = "AĄEĘIOÓUaąeęioóu" t = "" for c in s: if c not in vowels: t += c return t if name == " main ": main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 16 / 1

Podstawy języka Python napisy Wybrane metody klasy str capitalize() Zwraca kopię napisu z pierwszym znakiem zmienionym na wielka literę. count(napis[, początek[, koniec]]) Zwraca ilość nienachodzacych na siebie wystapień napisu napis w zakresie [początek:koniec]. Opcjonalne argumenty początek i koniec sa interpretowane tak samo, jak w operacji wycinania. endswith(przyrostek[, początek[, koniec]]) Zwraca wynik sprawdzenia, czy napis jest zakończony napisem przyrostek. Przy wystapieniu argumentu początek, sprawdzenie rozpoczyna się od tego znaku. Przy wystapieniu argumentu koniec porównanie zakończy się na tym znaku. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 17 / 1

Podstawy języka Python napisy Wybrane metody klasy str expandtabs([wielkość]) Zwraca kopię napisu ze wszystkimi znakami tabulacji zastapionymi przez znaki spacji. Jeśli wielkość nie zostanie podana, przyjmuje się rozmiar tabulacji jako 8 znaków. find(podnapis[, początek[, koniec]]) Zwraca najniższy indeks takiego wystapienia napisu podnapis, aby napis był zawarty w wycinku [początek:koniec]. Opcjonalne argumenty początek i koniec sa interpretowane tak samo, jak w operacji wycinania. Zwraca -1 jeśli napis podnapis nie został znaleziony. Funkcja find powinna być używana tylko wtedy, gdy chcemy poznać pozycję napisu podnapis w danym napisie. Jeżeli chcemy tylko sprawdzić czy napis podnapis występuje w danym napisie, to należy użyć operatora in: podnapis in napis dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 18 / 1

Podstawy języka Python napisy Wybrane metody klasy str isalnum() Zwraca wynik sprawdzenia, czy wszystkie znaki napisu sa znakami alfanumerycznymi i napis składa się przynajmniej z jednego znaku. isalpha() Zwraca wynik sprawdzenia, czy wszystkie znaki napisu sa literami i napis składa się przynajmniej z jednego znaku. isdigit() Zwraca wynik sprawdzenia, czy wszystkie znaki napisu sa cyframi. islower() Zwraca wynik sprawdzenia, czy wszystkie litery napisu sa małymi literami i napis zawiera przynajmniej jedna mała literę. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 19 / 1

Podstawy języka Python napisy Wybrane metody klasy str isspace() Zwraca wynik sprawdzenia, czy wszystkie znaki napisu sa białymi znakami i napis składa się przynajmniej z jednego znaku. istitle() Zwraca wynik sprawdzenia, czy napis ma strukturę tytułu, to znaczy każdy wyraz napisu musi zaczynać się wielka litera i składać wyłacznie z małych liter lub znaków nieliterowych. isupper() Zwraca wynik sprawdzenia, czy wszystkie litery napisu sa wielkimi literami i napis zawiera przynajmniej jedna wielka literę. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 20 / 1

Podstawy języka Python napisy Wybrane metody klasy str ljust(szerokość) Zwraca kopię napisu wyrównana do lewej w napisie o szerokości szerokość. Wypełnienie jest uzyskane za pomoca znaków spacji. Jeśli szerokość jest mniejsza od len(s) zwracany jest oryginalny napis. lower() Zwraca kopię napisu zamienionego na małe litery. lstrip([chars]) Zwraca kopię napisu z usuniętymi znakami z poczatku napisu. W przypadku, gdy argument chars nie został podany, lub ma wartość None, usunięte zostana białe znaki. Jeżeli argument ten jest podany i nie ma wartości None, musi być typu napisowego. Z poczatku napisu, na rzecz którego wywołana została ta metoda, zostana usunięte znaki wchodzace w skład argumentu chars. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 21 / 1

Podstawy języka Python napisy Wybrane metody klasy str replace(stary, nowy[, ile]) Zwraca kopię napisu z wszystkimi wystapieniami napisu stary zastapionymi przez nowy. Jeśli zostanie podany argument ile, zostanie zastapiona tylko podana ilość wystapień. rfind(napis [,początek [, koniec]]) Zwraca najwyższy indeks wystapienia napisu napis, takiego, aby napis był zawarty w przedziale [początek, koniec). Opcjonalne argumenty początek i koniec sa interpretowane tak samo, jak w operacji wycinania. Zwraca -1 jeśli napis nie został znaleziony. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 22 / 1

Podstawy języka Python napisy Wybrane metody klasy str rjust(szerokość) Zwraca kopię napisu wyrównana do prawej w napisie o szerokości szerokość. Wypełnienie jest uzyskane za pomoca znaków spacji. Jeśli szerokość jest mniejsza od len(s) zwracany jest oryginalny napis. rstrip([chars]) Zwraca kopię napisu z usuniętymi znakami z końca napisu. W przypadku, gdy argument chars nie został podany, lub ma wartość None, usunięte zostana białe znaki. Jeżeli argument ten jest podany i nie ma wartości None, musi być typu napisowego. Z końca napisu, na rzecz którego wywołana została ta metoda, zostana usunięte znaki wchodzace w skład argumentu chars. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 23 / 1

Podstawy języka Python napisy Wybrane metody klasy str startswith(prefix[, start[, end]]) Zwraca wynik sprawdzenia, czy napis zaczyna się napisem prefix. Przy wystapieniu argumentu start, sprawdzenie rozpoczyna się od tego znaku. Przy wystapieniu argumentu end porównanie zakończy się na tym znaku. strip([chars]) Zwraca kopię napisu z usuniętymi znakami z poczatku i końca napisu. W przypadku, gdy argument chars nie został podany, lub ma wartość None, usunięte zostana białe znaki. Jeśli argument ten jest podany i nie ma wartości None, musi być typu napisowego. Z poczatku i końca napisu, na rzecz którego wywołana została ta metoda, zostana usunięte znaki wchodzace w skład argumentu chars. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 24 / 1

Podstawy języka Python napisy Wybrane metody klasy str swapcase() Zwraca kopię napisu z małymi literami zamienionymi na wielkie a wielkimi na małe. title() Zwraca kopię napisu zamieniona na strukturę tytułu, to znaczy każdy wyraz napisu zostaje zamieniony na rozpoczynajacy się wielka litera z pozostałymi literami zamienionymi na małe. upper() Zwraca kopię napisu z wszystkimi literami zamienionymi na wielkie litery. zfill(szerokość) Zwraca napis uzupełniony z lewej strony zerami do podanej szerokości. W przypadku, gdy wartość argumentu jest mniejsza od długości napisu, zostanie zwrócony oryginalny napis. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 25 / 1

Podstawy języka Python napisy Ćwiczenie (Wybrane metody klasy str) Uruchom interpreter Pythona 3 bpython3. Przypisz do zmiennej s łańcuch znaków (np. Twoja ulubiona sentencję). Wypróbuj dla tego łańcucha znaków podane na poprzednich slajdach metody klasy str. Następnie zapisz rezultaty w pliku ImięNazwisko.py i wyślij w terminie do 11 grudnia do godziny 23.59 do wykładowcy. Fragment rozwiazania: >>> s = "Programowanie jest sztuką."... >>> s.upper() 'PROGRAMOWANIE JEST SZTUKĄ'... dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 28.11.2012 26 / 1