From c15aad38b8b329a8a6429bcf1ae771f6b8142fee Mon Sep 17 00:00:00 2001 From: Tomasz Dwojak Date: Sat, 12 May 2018 12:44:28 +0200 Subject: [PATCH] Add podstawy py --- labs01/podstawy.py | 319 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 319 insertions(+) create mode 100644 labs01/podstawy.py diff --git a/labs01/podstawy.py b/labs01/podstawy.py new file mode 100644 index 0000000..f8bbde1 --- /dev/null +++ b/labs01/podstawy.py @@ -0,0 +1,319 @@ + +# coding: utf-8 + +# # Ogólne wprowadzenie do Pythona +# +#   +# +# ## 19 Listopada 2017 + +# ## Hello Python! + +# In[ ]: + + +print('Hello Python') + + +# In[ ]: + + +print('Hello Python') +print(10) +print(3.14) +print(123456789 * 987654321) +print(10 ** 20) +print(12 ** (3 + 4 * (567 % 8) / 9)) +print("PI", "jest równe ", 3.1415) + + +# ## Komentarze +# * Komentarze nie są interpretowane. +# * Komentarze w Pythonie zaczynają się od znaku '#' +# * Istnieją komentarze wielolinijkowe tagowane potrójnym ", czyli """ """ +# + +# In[ ]: + + +print("Bardzo ważna wiadomość") # A to jest komentarz +""" +Komentarz +wielo- +linijkowy +""" +# print("Nie chcę być wydrukowanym") +print("A teraz chcę") + + +# ## Zmienne +# * case sensitive, +# * brak deklaracji typu, +# * do zmiennej można pezypisać wszystko. + +# In[ ]: + + +zmienna = "Zmienna" +zmienna = 10 ** 44 +ocena_z_pythona = 5 +pi = 3.1415 +imie_prowadzacego = 'Tomek' +nazwisko_prowadzego = "Dwojak" +czy_lubie_pythona = True # False +nic = None + + +# In[ ]: + + +lucky_number = 7 +lucky_number +=8 +lucky_number = lucky_number / 3 +print(lucky_number) + + +# In[ ]: + + +print(type(ocena_z_pythona)) +print(type(pi)) +print(type(imie_prowadzacego)) +print(type(nazwisko_prowadzego)) +print(type(czy_lubie_pythona)) + + +# ## Listy +# * W Pythonie nie ma tablic, są listy; +# * Listy mogą przechowywać elementy różnych typów; +# * Indeksowanie zaczyna się od 0. + +# In[ ]: + + +pusta_lista = [] # albo równoważnie pusta_lista = list() +oceny = [5, 4, 3, 5, 5] +roznosci = [3.14, "pi", ["pi"], 3] +ciag_10_elem = range(10) + +print("ciąg:", ciag_10_elem) +print("rożności:", roznosci) + + +# ## Dodawanie i usuwanie elementów z listy + +# In[ ]: + + +oceny.append(4) # Dodanie elementu na koniec +print(oceny) + + +# In[ ]: + + +oceny.extend([4,4,4]) # Rozszerzenie o inną listę +print(oceny) + + +# In[ ]: + + +oceny.pop(4) # Domyślnie usuwa ostatni element z listy +print(oceny) + + +# ## Indeksowanie + +# In[ ]: + + +print(oceny) +print('pierwszy element:', oceny[0]) +print('ostatni element:', oceny[-1]) +print('5 pierwszych:', oceny[:5]) +print('5 ostatnich', oceny[-5:]) +print('od drugiego, do piątego', oceny[1:5]) +print('parzyste:', oceny[::2]) +print('od tyłu', oceny[::-1]) + + +# ## Co możemy zrobić z listą? + +# In[ ]: + + +oceny.sort() +print(oceny) +oceny.reverse() +print("liczba piątek", oceny.count(5)) + + +# ## Pętla typu ```for``` +# * W Pythonie pętla *for* działa jak pętla *for each* w innych językach; +# * W Pythonie nie ma klamr, ani *begin* i *end*; jako ciało pętli musi być wcięte (najcześciej 4 spacje). + +# In[1]: + + +for i in range(5):# range[5] = [0,1,2,3,4] + print('element:', i) # Uwaga wcięcie! + print('sqr:', i **2) # Uwaga wcięcie! + + +# Schemat: + +# In[ ]: + + +for zmienna in lista: + # operacje do wykonania w pętli + + +# In[ ]: + + +for ocena in oceny: + print("Ocena:", ocena) + + +# ## Lista kwadratów + +# In[ ]: + + +kwadraty = [] +for i in range(10): + kwadraty.append(i ** 2) +print(kwadraty) +print(kwadraty[5]) + + +# ## Słowniki, czyli mapy + +# In[ ]: + + +slownik = {} +s_oceny = {"Justyna" : [5,5,5], "Bartek" : [3,4,5], "Ola": [3,3,3]} +print(s_oceny) +s_oceny[1234567890] = [3,4,5] +#print("ADAM:", s_oceny["Adam"]) +print(s_oceny) + + +# In[ ]: + + +s_oceny['Ala'] = [2,2,2,4,4,4,3,3,3] +print(s_oceny) + + +# ## Iterowanie po słowniku + +# In[ ]: + + +for osoba in s_oceny: + print(osoba,':', s_oceny[osoba]) + + +# In[ ]: + + +for osoba, oceny in s_oceny.items(): + print(osoba,':', oceny) + + +# ## Instrukcja sterująca ```if ... else``` + +# * działa tak samo, jak w innych języka; +# * jest dodatkowa instrukcja następnego warunku *elif...*; + +# In[ ]: + + +zmienna = 7 +if zmienna < 0: + print("Ujemna!") +elif zmienna == 0: + print("Zero!") + + +# In[ ]: + + +if "Ala" in s_oceny: + print("Ala jest w grupie!") +else: + print("Niestety Ali nie ma grupie!") + + +# ## Funkcje + +# In[ ]: + + +def is_greater_than_5(x): + if x > 5: + return True + else: + return False + + +# In[ ]: + + +print(is_greater_than_5(5)) +print(is_greater_than_5(-100)) +print(is_greater_than_5(500)) + + +# # Łańcuchy znakowe + +# In[ ]: + + +napis = "Wiadomość" +print(napis) + + +# In[ ]: + + +for znak in napis: + print(znak, ord(znak)) + + +# In[ ]: + + +if 'dom' in napis: + print(True) +else: + print(False) + + +# In[ ]: + + +slowa = ['Bardzo' , 'ważna', 'wiadomość'] +print(' '.join(slowa)) + + +# In[ ]: + + +text = "Bardzo ważna wiadomość" +print(text.split(' ')) + + +# In[ ]: + + +text = "Nie wszyscy lubią spacje na końcu linii. " +print(text) +print(text.strip(' ')) + + +# # Pytania?