forked from tdwojak/Python2018
321 lines
4.4 KiB
Python
321 lines
4.4 KiB
Python
|
|
# 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
|
|
pass
|
|
|
|
|
|
# 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?
|