390 likes | 928 Views
Wprowadzenie do programowania w języku Python. Autor: Bartłomiej Mucha. Historia. 1990 Rok Guido van Rossuma Centrum Matematyki i Informatyki w Amsterdamie Język ABC Monty Python. Linki. http://www.python.org/ http://python.kofeina.net/ http://www.python.org.pl/. Dlaczego Python?.
E N D
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: • 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 (”%.3f”) % a Wynik: `50.000` Koło Naukowe Informatyków 4 XI 2009
Wprowadzanie wartości a = input(”Wprowadzjakaswartosc”) # wprowadzam 4 print a Wynik: 4 Koło Naukowe Informatyków 4 XI 2009
Łańcuchy znaków a = ”tekst” printa+a Wynik: `teksttekst` a = ”tekst” Print 4*a Wynik: `teksttekstteksttekst` Koło Naukowe Informatyków 4 XI 2009
Ł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(”Wprowadzjakaswartosc: ”) # wprowadzam test printlancuch 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] Printpotegi_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 for x inrange(1,11): print # newline for y inrange(1,11): print "%3i" % (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: w = a m = b else: w = b m = a r = w % m while r: w = m m = r r = w % m print "NWD liczb %i i %i wynosi %i, a ich NWW wynosi %i" % (a,b,m,a*b/m) Koło Naukowe Informatyków 4 XI 2009
Równanie kwadratowe x1 = (-float(b) - delta**0.5)/2*a x2 = (-float(b) + delta**0.5)/2*a print "x1 = %.2f" % x1 print "x2 = %.2f" % x2 del x1,x2 elif delta == 0: x1 = (-float(b) - delta**0.5)/2*a print "x1 = %.2f" % x1 del x1 else: print "Rownanie ma rozwiazanie w calej dziedzinie" del delta del a,b,c # Rownanie kwadratowe a = input("Wprowadzwspolczynnik a: ") b = input("Wprowadzwspolczynnik b: ") c = input("Wprowadzwspolczynnik c: ") if a == 0: print "x = ",-c/b else: delta = b**2 - 4*a*c if delta > 0: Koło Naukowe Informatyków 4 XI 2009
Klasa Complex z = 3 + 2j z.Real z.Imag z.conjugate() Koło Naukowe Informatyków 4 XI 2009
Klasa String s = ”Jakiś NapiS” s.capitalize() s.center(32,[‘*’]) s.Find(‘NapiS’) s.IsDigit() ‘ ‘.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] ++ [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