Wprowadzenie do programowania w języku Python

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

description

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?. - PowerPoint PPT Presentation

Transcript of Wprowadzenie do programowania w języku Python

Koło Naukowe Informatyków 14 IV 2010

Wprowadzenie do programowania w języku Python

Autor: Bartłomiej Mucha

Koło Naukowe Informatyków 4 XI 2009

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 Ca = float(50) #zaznaczamy że a jest wartością rzeczywistą

print (”%.3f”) % aWynik: `50.000`

Koło Naukowe Informatyków 4 XI 2009

Wprowadzanie wartości

a = input(”Wprowadz jakas wartosc”)

# wprowadzam 4print aWynik: 4

Koło Naukowe Informatyków 4 XI 2009

Łańcuchy znaków

a = ”tekst”print a+aWynik: `teksttekst`

a = ”tekst”Print 4*aWynik: `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(”Wprowadz jakas wartosc: ”)

# wprowadzam testprint lancuchWynik: ‘test’

Koło Naukowe Informatyków 4 XI 2009

Kolekcje - Listy

Listy – zmienny typ danychLista = [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

for x in range(1,11):      print # new line      for y in range(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 NWWprint "Podaj dwie liczby

naturalne:”a = input("Pierwsza:")b = input("Druga:")# ustalenie która jest

mniejszaif a > b:      w = a      m = belse:      w = b      m = ar = w % m

while r:      w = m      m = r      r = w % mprint "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

# Rownanie kwadratowea = input("Wprowadz

wspolczynnik a: ")b = input("Wprowadz

wspolczynnik b: ")c = input("Wprowadz

wspolczynnik c: ")

if a == 0: print "x = ",-c/belse: delta = b**2 - 4*a*c if delta > 0:

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 deltadel a,b,c

Koło Naukowe Informatyków 4 XI 2009

Klasa Complex

z = 3 + 2jz.Realz.Imagz.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 razyl.index(4) #pierwsza pozycjal.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ę.