215 lines
4.6 KiB
Python
215 lines
4.6 KiB
Python
# Przedmiot Jezyki skryptowe - Python
|
|
# Pierwsze zajecia
|
|
# 2018.05.12
|
|
|
|
print('Czesc')
|
|
print("Czesc") # nie wolno mieszac typow cudzyslowiow
|
|
|
|
# / = dokladny wynik dzielenia
|
|
# % = dzielenie modulo - zwróci resztę z dzielenia
|
|
|
|
print("Teks1", "Po przecinku drugi txt")
|
|
print(12 ** (3+4 % 8 / 9))
|
|
print("Teks1", "Mozna mieszac txt i liczby", 3.1445)
|
|
print("Liczby ulamkowe zapisujemy z kropka", 45.456)
|
|
|
|
"""
|
|
Potrojny cydzysłów - komentarz wielolinijkowy
|
|
cos tam
|
|
"""
|
|
|
|
|
|
"""
|
|
Zmienne nie mają typów
|
|
cese sensitive
|
|
do zmiennej mozna prypisac praktycznie wszystko
|
|
"""
|
|
|
|
zmienna = "Zmienna"
|
|
nic = None
|
|
imie_prowadzacego = 'Tomek'
|
|
imie2_prowadzacego = "Radek"
|
|
zmienna2 = True
|
|
zm3 = False
|
|
|
|
lucky = 7
|
|
lucky += 8 # wynik => 7+8=15
|
|
lucky = lucky / 3 # dzielenie zawsze zwraca liczbe zmiennoprzecinkową
|
|
print(lucky)
|
|
print("lucky") # zwróci napis lucky
|
|
|
|
print(type(pi)) # wyswietla typ zmiennej
|
|
"""
|
|
int
|
|
float
|
|
str
|
|
bool
|
|
"""
|
|
|
|
"""
|
|
W pythonie nie ma tablic
|
|
Są za to listy
|
|
Listy moga przechowywac elementy roznych typow
|
|
Indexowanie zaczyna się od 0
|
|
"""
|
|
|
|
pusta_lista = []
|
|
oceny = [1,2,3,4,5,6,7]
|
|
innalista = [3.14, "napis", 3, ["pi"], oceny,"nie_musi_byc_spacji_pomiedzy_elementmi_listy"] # lista moze zawierac takze inna listę
|
|
|
|
"""
|
|
W pythonie 3
|
|
Zwraca tzw. iterator
|
|
funkcją list tworzy nową listę o wartościach z oryginalnej listy
|
|
"""
|
|
|
|
ciag_10_elem = list(range(10))
|
|
|
|
# W Python nie ma list wielowymiarowych
|
|
|
|
oceny.append(4) # dodanie elementu na końcu listy
|
|
oceny.extend([4,4,4]) # też dodaje ale mozna dodac kilka elementow na raz np. listę i wkleje jej wartosci do oryginalnej listy
|
|
|
|
oceny.append([4,4,4]) # doda listę
|
|
oceny.extend([4,4,4]) # doda wartości listy
|
|
|
|
oceny.pop() # usuwa ostatni element listy
|
|
oceny.pop(0) # usuwa element zerowy, czyli pierwszy na liście :)
|
|
oceny.pop(-1) # usuwa ostatni element
|
|
oceny.pop(-3) # usuwa 3 element od konca
|
|
|
|
# INDEXOWANIE
|
|
|
|
print('pierwszy element:', oceny[0]) # drukuje zerowy element listy
|
|
print('pierwszy element:', oceny[-1]) # ostatni element od konca
|
|
print('pierwszy element:', oceny[:5]) # zwraca wszystkie elementy, ktore mają element mniejszy od 5 (z indexem 0, 1... 4)
|
|
print('pierwszy element:', oceny[-5:]) # 5 ostatnich elementow
|
|
print('pierwszy element:', oceny[1:5]) # elementy od id 1,2,3,4
|
|
print('pierwszy element:', oceny[::2]) # od początku do końca co 2gi element, parzyste
|
|
# [1::2] pokaz nieparzyste elementy
|
|
# [::-1] wypisze całą listę od końca
|
|
# [::-2] wypisze co 2gi element od końca
|
|
|
|
oceny.sort() # sortuje roznaco
|
|
oceny.reverse() # odwaca liste
|
|
print("liczba piątek", oceny.count(5)) # liczy ile liczb "5" jest na liście
|
|
zm = sorted(oceny) # sortuje do nowej zmiennej zm, efekt ten sam co powyzej
|
|
nowa_lista = oceny[:] # bez nawiasu [] nie zadziała
|
|
nowa_lista = oceny + [0]
|
|
# pomnożyć listę przez listę NIE MOZNA [3,2,1] * [3]
|
|
oceny = [3,2,1] * 2 # można mnożyć listę przez liczbę
|
|
# sortuje też stringi
|
|
# oceny = ['a', 'c'] + [str'0'] ????????????? # zadziała, można to sortować
|
|
|
|
#
|
|
# PĘTLE
|
|
#
|
|
|
|
for i in range(5):
|
|
print('element:', i)
|
|
print('sqr:', i ** 2)
|
|
print('>>>>>')
|
|
|
|
# "i" TO JEST NORMANA ZMIENNA, JEJ NAZWA MOŻE BYC TOTALNIE DOWOLNA
|
|
# po przejściu pętli i ma wartość ostatnie operacji na petli for
|
|
|
|
|
|
# NIE WOLNO MIESZAĆ TABULATORA I SPACJI - TO ZŁO I BĘDZIESZ SIĘ ZMAZYC W PIEKLE
|
|
# NAJLEPIEJ W KODZIE NIE UŻYWĆ TABULATOR TYLKO SPACJI
|
|
# NIE MUSZĄ TO BYĆ 4 SPACJE
|
|
# NIEKTORE EDYTORY ZAMIENIAJĄ AUTOMATYCZNIE TAB NA 4 SPACJE
|
|
|
|
for i in list(range(5))[::-1]
|
|
print(i)
|
|
|
|
pass # nie rób nic
|
|
|
|
for zmienna in oceny:
|
|
pass
|
|
|
|
|
|
lista_pusta = []
|
|
|
|
"""
|
|
kwadraty=[]
|
|
for i in range(10):
|
|
kwadraty.append()
|
|
nie dokończyłem
|
|
"""
|
|
|
|
#
|
|
# SŁOWNIKI
|
|
#
|
|
|
|
słownik = {}
|
|
# lub dict()
|
|
# klucze muszą być unikatowe
|
|
s_oceny = {"Justyna" : [5,5,5], "Jan" : [4,3,2}}
|
|
s_oceny["Ala"] = [3,4,5]
|
|
print(s_oceny.keys())
|
|
print(s_oceny.values())
|
|
|
|
|
|
for osoba in s_oceny:
|
|
print(osoba,':', s_oceny[osoba])
|
|
# iterujemy po kluczach slownika
|
|
|
|
|
|
for key, value in s_oceny.items():
|
|
print(key,':', value)
|
|
# key, value to nie są słowa kluczowe, tylko zwykłe nazwy zmiennych
|
|
|
|
|
|
#
|
|
# IF... ELIF... ELSE
|
|
#
|
|
|
|
if warunek:
|
|
operacja1
|
|
elif warunek2:
|
|
operacja2
|
|
|
|
|
|
if warunek:
|
|
operacja1
|
|
else:
|
|
operacja2
|
|
|
|
"""
|
|
operatory porównnia
|
|
== rowne
|
|
<=
|
|
>=
|
|
!= nierówne
|
|
"""
|
|
|
|
|
|
if "Ala" in s_oceny:
|
|
print("Ala jest w grupie")
|
|
sprawdza w liscie kluczy w slowniku
|
|
|
|
|
|
#
|
|
# FUNKCJE
|
|
# PRYJMUJE ARGUMNTY, ZWRACA WARTOŚCI
|
|
#
|
|
|
|
def is_greater_than_5 (x):
|
|
if x > 5:
|
|
return True # zwraca wartość z funkcji
|
|
else:
|
|
return False
|
|
|
|
if 'dom' in napis: # sparawdza czy dom jest w zmiennej napis
|
|
print(True)
|
|
|
|
slowa['bardzo','wazna']
|
|
print(' '.join(slowa)) # zlaczenie
|
|
|
|
print(text.split(' ')) # podzieli na slowa wg spacji
|
|
|
|
|
|
|
|
|
|
|