Wprowadzenie do programowania w jzyku Python Autor Bartomiej

Wprowadzenie do programowania w języku Python Autor: Bartłomiej Mucha Koło Naukowe Informatyków 14 IV 2010

Historia 1990 Rok ¢ Guido van Rossuma ¢ Centrum Matematyki i Informatyki w Amsterdamie ¢ Język ABC ¢ Monty Python ¢ Koło Naukowe Informatyków 4 XI 2009

Linki http: //www. python. org/ ¢ http: //python. kofeina. net/ ¢ http: //www. python. org. pl/ ¢ Koło Naukowe Informatyków 4 XI 2009

Dlaczego Python? ¢ ¢ ¢ Wymuszone stosowanie wcięć, Czytelna składnia, Dynamiczne typowanie, Garbage Collection, Szybki i skuteczny debugger, Programowanie: l l l ¢ ¢ Obiektowe Strukturalne Funkcyjne Zope (Tworzy webapsy), system wymiany plików Mojo Nation Koło Naukowe Informatyków 4 XI 2009

Wartości Dynamiczne typowanie ¢ Formatowanie jak w C a = float(50) #zaznaczamy że a jest wartością rzeczywistą print (”%. 3 f”) % a Wynik: `50. 000` ¢ Koło Naukowe Informatyków 4 XI 2009

Wprowadzanie wartości a = input(”Wprowadz jakas wartosc”) # wprowadzam 4 print a Wynik: 4 Koło Naukowe Informatyków 4 XI 2009

Łańcuchy znaków a = ”tekst” print a+a Wynik: `tekst` a = ”tekst” Print 4*a Wynik: `teksttekst` Koło Naukowe Informatyków 4 XI 2009
![Łańcuchy znaków a = ”Test” Print ”Pierwsza litera to ”, a[0] Print ”Ostatnia litera Łańcuchy znaków a = ”Test” Print ”Pierwsza litera to ”, a[0] Print ”Ostatnia litera](http://slidetodoc.com/presentation_image_h/20b11ccb2a8df0c31354eafbd6f8d967/image-8.jpg)
Łańcuchy znaków a = ”Test” Print ”Pierwsza litera to ”, a[0] Print ”Ostatnia litera to ”, a[: 3: 2] Wynik: `3 ‘parzyste’ litery to Ts` Koło Naukowe Informatyków 4 XI 2009

Wprowadzanie stringów lancuch = raw_input(”Wprowadz jakas wartosc: ”) # wprowadzam test print lancuch Wynik: ‘test’ Koło Naukowe Informatyków 4 XI 2009

Kolekcje - Listy ¢ Listy – zmienny typ danych Lista = [1, 2, 3, 4, 5] #range(1, 6) Print Lista[0] Wynik: 1 ¢ Listy składane: liczby = [1, 2, 3, 4, 5] potegi_dwojki = [2**n for n in liczby] Print potegi_dwojki Wynik: [2, 4, 8, 16, 32] Koło Naukowe Informatyków 4 XI 2009

Kolekcje - Krotki ¢ Krotki (n-tki) Jan = ("Jan", "Kowalski", 33) Janina = ("Janina", "Nowak", (21, 12, 1978), 'K') imie = Jan[0] Koło Naukowe Informatyków 4 XI 2009

Kolekcje - Słowniki ¢ Słowniki (tab asocjacyjna) Slownik = {klucz, wartosc} Wykorzystywane m. in. w BST, tablicy mieszająca Koło Naukowe Informatyków 4 XI 2009

Pętla for x in range(1, 11): print # new line for y in range(1, 11): print "%3 i" % (x*y), Wynik: 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100 Koło Naukowe Informatyków 4 XI 2009

Wyliczanie NWD i NWW # Wyliczanie NWD i NWW print "Podaj dwie liczby naturalne: ” a = input("Pierwsza: ") b = input("Druga: ") # ustalenie która jest mniejsza if a > b: while r: w = a w = m m = b m = r else: r = w % m w = b print "NWD liczb %i i %i wynosi %i, a ich NWW wynosi %i" % (a, b, m, a*b/m) m = a r = w % m Koło Naukowe Informatyków 4 XI 2009

Równanie kwadratowe # Rownanie kwadratowe a = input("Wprowadz wspolczynnik a: ") b = input("Wprowadz wspolczynnik b: ") c = input("Wprowadz wspolczynnik c: ") if a == 0: print "x = ", -c/b else: delta = b**2 - 4*a*c if delta > 0: x 1 = (-float(b) - delta**0. 5)/2*a x 2 = (-float(b) + delta**0. 5)/2*a print "x 1 = %. 2 f" % x 1 print "x 2 = %. 2 f" % x 2 del x 1, x 2 elif delta == 0: x 1 = (-float(b) - delta**0. 5)/2*a print "x 1 = %. 2 f" % x 1 del x 1 else: print "Rownanie ma rozwiazanie w calej dziedzinie" delta del a, b, c Koło Naukowe Informatyków 4 XI 2009

Klasa Complex z = 3 + 2 j z. Real z. Imag z. conjugate() Koło Naukowe Informatyków 4 XI 2009
![Klasa String s = ”Jakiś Napi. S” s. capitalize() s. center(32, [‘*’]) s. Find(‘Napi. Klasa String s = ”Jakiś Napi. S” s. capitalize() s. center(32, [‘*’]) s. Find(‘Napi.](http://slidetodoc.com/presentation_image_h/20b11ccb2a8df0c31354eafbd6f8d967/image-17.jpg)
Klasa String s = ”Jakiś Napi. S” s. capitalize() s. center(32, [‘*’]) s. Find(‘Napi. S’) s. Is. Digit() ‘ ‘. join(„Klasa”, „String”) s. replace(‘ ‘, ’---’) s. rfind(‘i’) #9 Koło Naukowe Informatyków 4 XI 2009

Klasa List l = range(1, 21) l. append(33) l. count(2) #ile razy l. index(4) #pierwsza pozycja l. insert(i, a) l. pop(i) l. remove(a) l. reverse() l. sort() Koło Naukowe Informatyków 4 XI 2009
![Ciekawostka Haskell: quicksort (s: xs) = quicksort [x|x <- xs, x < s] ++ Ciekawostka Haskell: quicksort (s: xs) = quicksort [x|x <- xs, x < s] ++](http://slidetodoc.com/presentation_image_h/20b11ccb2a8df0c31354eafbd6f8d967/image-19.jpg)
Ciekawostka Haskell: quicksort (s: xs) = quicksort [x|x <- xs, x < s] ++ [s] ++ quicksort [x|x <- xs, x >= s] Koło Naukowe Informatyków 4 XI 2009

Strona www Koło Naukowe Informatyków 4 XI 2009

KONIEC Dziękuję za uwagę. Koło Naukowe Informatyków 4 XI 2009
- Slides: 21