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



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

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

4. Funkcje. Przykłady

Krok 1.Chcemy napisać dowolny tekst na ekranie, np. Witaj świecie

Programowanie w Turbo Pascal

Warsztaty dla nauczycieli

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

ZMIENNE. Podstawy PHP

Wstęp do programowania

Wstęp do programowania

Podstawy programowania. Python wykład 6

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

Zajęcia 4 procedury i funkcje

Programowanie - wykład 4

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Wstęp do Programowania, laboratorium 02

if (wyrażenie ) instrukcja

SAS Macro Language w pigułce

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Listy, krotki, słowniki, funkcje

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana.

Języki i metody programowania

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

Warunki logiczne instrukcja if

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka sposobów.

Języki i metody programowania

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

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

1. Napisz program wypisujący w kolejnych wierszach standardowego wyjścia pojedyncze słowa następującego napisu Bardzo dlugi napis. 2.

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

Cw.12 JAVAScript w dokumentach HTML

Podstawy programowania w Pythonie

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

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

Rekurencja (rekursja)

Podstawy programowania w Pythonie

Część 4 życie programu

Ćwiczenie 3. Python 3: Python 3: Funkcje, moduły i operacje na plikach

Odczyt danych z klawiatury Operatory w Javie

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Stałe oznaczane są słowem kluczowym final. Do stałej wartość można przypisać tylko raz. Dobrą konwencją jest nazywanie stałych wielkimi literami

Lekcja 6: Pascal. Procedura i funkcja

Ćwiczenia nr 11. Translatory. Wprowadzenie teoretyczne

Laboratorium kryptograficzne dla licealistów 2

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Spis treści. Dekoratory. 1 Dekoratory 1.1 Zadanie Zadanie Zadanie Zadanie 4

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

Funkcje wbudowane PHP

Algorytmy i struktury danych

Metody numeryczne Laboratorium 2

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Java Podstawy. Michał Bereta

I - Microsoft Visual Studio C++

Podstawy programowania. Podstawy C# Tablice

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

Funkcje. Wprowadzenie. Mirosław Ochodek

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

lekcja 8a Gry komputerowe MasterMind

Algorytmy i struktury danych

Pytania dla języka Python

3. Instrukcje warunkowe

Podstawy programowania w Pythonie

6. Pętle while. Przykłady

WARUNEK ZOSTAŁ SPAENIONY WARUNEK NIE ZOSTAŁ SPEŁNIONY

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

Proste programy w C++ zadania

Test przykładowy 2 PAI WSB Wrocław /06/2018

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

JAVAScript w dokumentach HTML (1)

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Programowanie w Ruby

Algorytmy i struktury danych

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

do instrukcja while (wyrażenie);

Programowanie w języku Python. Grażyna Koba

Zajęcia 5 łańcuchy znaków (ciąg dalszy) i funkcje

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

Zapis algorytmów: schematy blokowe i pseudokod 1

JAVAScript w dokumentach HTML (2)

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Instrukcja warunkowa i złoŝona.

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

- wszystkie elementy - wszystkie elementy

Analiza algorytmów zadania podstawowe

Zmienne, stałe i operatory

Programowanie obiektowe

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

Definicje wyższego poziomu

Transkrypt:

Funkcje w Pythonie Funkcje to części programu wielokrotnego użytku. Pozwalają nam nadad nazwę blokowi wyrażeo, a następnie uruchamiad ten blok używając tej nazwy gdziekolwiek w programie, dowolną ilośd razy. Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania). Funkcje definiuje się używając słowa def. Po nim następuje nazwa identyfikująca funkcję, następnie para nawiasów, które mogą zawierad kilka nazw zmiennych, a na koocu dwukropek. Poniżej zaczyna się blok wyrażeo, które są częścią tej funkcji. Python stosuje pojęcie funkcji by grupowad fragmenty kodu, a następie wywoływad je z dowolnych miejsc w programie. Aby utworzyd nazwaną funkcję z własnym kodem, stosuje się słowo def, które jest skrótem słowa definiuj. Przyglądając się kodowi: def hello(): print "Hello World!" return zauważamy jedynie 2 nowe słowa: def i return. def służy właśnie do definiowania funkcji w Pythonie. return służy do zakooczenia wykonywania kodu zawartego w ciele funkcji i pozwala na zwrot dowolnej wartości przy czym tylko 1 wartośd można zwrócid jako rezultat wykonania funkcji. W pytonie, jeśli żadna wartośd nie jest zwrócona to domyślnie przyjmowana jest wartośd None. Przykład 1. def powiedzahoj(): print 'Ahoj, przygodo!' # Blok należący do funkcji. # Koniec funkcji. powiedzahoj() # Wywołanie funkcji. powiedzahoj() # Ponowne wywołanie funkcji. Ahoj, przygodo! Ahoj, przygodo! Przykład 2. Napiszemy funkcję o nazwie wypiszmax, która szuka w dwóch podanych parametrach szuka wartości maksymalnej i ją wypisuje. def wypiszmax(a, b): if a > b: print a, 'to maksimum'

elif a == b: print a, 'jest równe', b print b, 'to maksimum' 1 Sposób wywołania: wypiszmax(3, 4) # Wartości są wprowadzone bezpośrednio. 2 Sposób wywołania: x = 5 y = 7 wypiszmax(x, y) # Zmienne stają się argumentami. 4 to maksimum 7 to maksimum Przykład 3. def powiedz(wiadomosc, ile = 1): print wiadomosc * ile powiedz('ahoj') powiedz('przygodo!', 5) Ahoj Przygodo!Przygodo!Przygodo!Przygodo!Przygodo! Wyrażenie return Wyrażenia return używamy do wyjścia z funkcji. Możemy opcjonalnie zwrócić w tym momencie jakąś wartość. Przykład: def maximum(x, y): if x > y: return x return y print maximum(2, 3) 3 1. #funkcja dodaje dwie liczby do siebie i zwraca ich sumę def suma(a,b): return a+b y=input("podaj 2 liczbe: ") print "suma liczb wynosi = ",suma(x,y)

Efekt: Wartości przekazywane do funkcji noszą nazwę parametrów. W momencie wywoływania funkcji parametry te mogą byd referencjami do danych lub wartościami statycznymi, na przykład liczbami albo ciągami znaków. Niezależnie od sytuacji dane te znajdują się w lokalnym zasięgu funkcji bez potrzeby dostępu do zasięgu globalnego. Powyższa funkcja suma posiada dwa parametry: dwie liczby, które zostaną zsumowane. Parametry określa się w nawiasach okrągłych tuż za nazwą funkcji. Wartości przekazanych argumentów dostępne będą we wnętrzu funkcji pod nazwami wskazanymi w nawiasach: a i b. W momencie wywoływania funkcji przekazuje się do niej argumenty, których wartości mają zostad wystawione do parametrów dostępnych w ciele funkcji. Dokładnie ta sama zasada obowiązuje dla funkcji suma, jak i dla wszystkich innych funkcji. 1. Niech funkcja wyświetla rezultat w formie: W tym celu należy dopracowad linię z wyświetlaniem wyników i wywołaniem funkcji suma(a,b). Kod powinien wyglądad następująco: Funkcja dodaje dwie liczby do siebie i zwraca ich sumę: def suma(a,b): return a+b y=input("podaj 2 liczbe: ") #print "suma liczb wynosi = ",suma(x,y) print "suma liczb: %i oraz %i wynosi = %i" % (x,y,suma(x,y)) Napiszemy program, a więc funkcję i program ją wywołujący, gdzie zadaniem funkcji o nazwie parzysta będzie sprawdzenie, czy liczba wprowadzona przez użytkownika jest parzysta czy nie i zwrócenie jako rezultat tekstu parzysta bądź nieparzysta w zależności od tego jaka dana liczba faktycznie jest.

def parzysta(a): if ((a%2)==0): return "parzysta" return "nieparzysta" print "podana liczba jest ",parzysta(x) Rezultat będzie taki: Teraz napiszemy funkcję o nazwie kobieta, której przekażemy jako argument znak wprowadzony przez użytkownika z klawiatury. Znak powinien odpowiadad płci użytkownika. Otrzymuje on od programu pytanie czy jest kobietą i jeśli jest powinien odpowiedzied znakiem K bądź K. Zadaniem funkcji o nazwie kobieta ma byd właśnie sprawdzenie czy znak będący odpowiedzią użytkownika a więc i argumentem wywołania funkcji kobieta(a) jest równy znakowi K albo k. Jeśli tak to funkcji zwróci rezultat t. W przeciwnym przypadku zwróci n. A więc jeśli ktoś odpowie na pytanie znakiem np. x to i tak funkcja zwróci rezultat n odpowiadający przypadkowi, że to nie jest kobieta. Jak widzimy funkcja jest wywołana w instrukcji warunkowej IF..ELSE. Jeśli funkcja zwróci jako rezultat t to na ekranie pojawi się komunikat Jesteś kobieta. W przeciwnym przypadku pojawi się komunikat Jesteś mężczyzną. def kobieta(a): if ((a=='k') or (a=='k')): return "t" return "n" x=raw_input("czy jestes kobieta? [K/M]: ") if kobieta(x)=="t": print "Jestes kobieta" print "Jestes mezczyzna" Przypomnienie materiału dotyczącego tekstów (łaocuchów znaków, list i innych typów danych w pytonie do przechowywania znaków. Gdybyśmy chcieli przypisać do łańcucha znaków (nazwiemy go s ) tekst = Ala ma kota i 12 psów zrobimy to tak: >>> s = "Ala ma kota i 12 psów" >>> s[0] # zwróci znak, który jest przechowywany w łańcuchu s na 1 indeksie (lancuchy są indeksowane od 0) 'A' >>> s[3] = ' ' >>> s[11:18] # zwróci wycinek z łańcucha zaczynający się na indeksie 11 a kończący na 18, a więc zwróci tak naprawdę podłańcuch znaków od 12 do 19 czyli ' 12 psów' >>> s[:4] # podłańcuch od indeksu 0 do 4 'Ala m' >>> s[:5]+s[5:] # podłańcuch znaków od indeksu 0 do 5 i od 5 do końca łańcucha s, a więc: 'Ala ma kota i 12 psów'

Metody w klasie String >>> s = "Ala ma kota i 12 psów" >>> len ( s ) 21 >>> s = s.replace ( 'kota', 'rybę' ) >>> test 'Ala ma rybę i 12 psów' >>> s.count ( 'a' ) 3 >>> s.find ( 'm' ) 4 >>> s [4 ] 'm' >>> s.split() ['Ala', 'ma', 'kota', 'i', '12', 'psów'] >>> s.split ( 'i' ) [Ala ma kota ', ' 12 psów'] >>> s.upper() 'ALA MA KOTA I 12 PSÓW' >>> s.lower() 'ala ma kota i 12 psów' >>> s.lower().capitalize() 'This is just a short string.' >>> 'UPPER'.isupper() True >>> 'UpPEr'.isupper() False >>> 'lower'.islower() True >>> 'Lower'.islower() False Ćwiczenia do wykonania: 1. Napisz funkcję, która sprawdza, czy wprowadzone imię jest imieniem żeoskim czy męskim i zwraca jako rezultat odpowiedni komunikat: Jesteś mężczyzną albo Jesteś kobietą. 2. Napisz funkcję, która pyta o dwie liczby i mówi czy są one równe a jeśli nie to mówi jaka jest różnica między nimi. 3. Napisz funkcje: liczba_pierwiastkow i oblicz_pierwiastki, z których pierwsza będzie dla podanych parametrów równania kwadratowego ustalad ile jest rozwiązao tego równania, zaś druga obliczad te rozwiązania. 4. Napisz funkcję, która oblicza przychód po odliczeniu podatku od dochodu. Dochód i wielkośd podatku (w procentach) podaje użytkownik (program musi go o to zapytad). 5. Napisz program, który dla podanego łaocucha znaków zamieni podaną pozycję na jakiś znak (też podany przez użytkownika). Funkcja, która dokona zamiany znaku z podanej pozycji musi sprawdzid, czy w ogóle pozycja wskazana jest prawidłowo (nie każemy np. Zamienic 6 znaku, podczas gdy łaocuch ma tylko 5 znaków). Funkcja powinna przyjmowad 3 parametry (łaocuch do analizy, pozycję, którą należy podmienid, i znak który ma służyd do podmiany). Niech program wyświetla łaocuch przed i po zamianie.