diff --git a/Solutions_MD/01_solutions.py b/Solutions_MD/01_solutions.py new file mode 100644 index 0000000..516291f --- /dev/null +++ b/Solutions_MD/01_solutions.py @@ -0,0 +1,2 @@ +x=2 +print(x) diff --git a/Solutions_MD/02_solution_text.py b/Solutions_MD/02_solution_text.py new file mode 100644 index 0000000..17c2041 --- /dev/null +++ b/Solutions_MD/02_solution_text.py @@ -0,0 +1,36 @@ +'PyLadies 2017' +'Michal Drab' +'Warszawa' +'Taxi' +'Dzieci z Bulerbyn' +#print('Kubus Puchatek'.lower()) +print('Foam fire-fighting system'.upper()) +#print('Kubuś Puchatek'.find('Pu')) + +#print('Janusz Nowak'.find('Nowak')) +#print('Janusz Nowak'.find('Drab')) +#print('Tadeusz Nowak'.find('Nowak')) + +#print('aąbcćdeęfghijklłmnńoópqrsśtuvwxyzźż'.find('r')) + +# replace + +## zastąpienie jednego stringa innym +#print('Ala ma kota'.replace(' ', '-')) +#print('Ala ma kota'.replace('kota', 'psa')) + +## usunięcie stringa/zastąpienie pustym stringiem +#print('Jan Kowalski'.replace('Kowalski', '')) + +#count +#print('Ala ma kota, a Ola ma psa'.count('ma')) + +## ćwiczenie + +#print('Ilość stringów:','count przyjmuje jeden string jako argument i zwraca liczbę wystąpień tego łańcucha w stringu na jakim wykonaliśmy operację. Metoda ta przydaje się, kiedy na przykład chcemy sprawdzić czy jakaś fraza powtarza się więcej niż raz w danym stringu: :snake: Skopiuj treść któregoś z paragrafów na tej stronie, użyj go do zdefiniowania stringa i wywołując na nim metodę count sprawdź ile razy występują w nim następujące ciągi znaków: i, string oraz na.'.count('string')) +#print('Ilość znaków "i":','count przyjmuje jeden string jako argument i zwraca liczbę wystąpień tego łańcucha w stringu na jakim wykonaliśmy operację. Metoda ta przydaje się, kiedy na przykład chcemy sprawdzić czy jakaś fraza powtarza się więcej niż raz w danym stringu: :snake: Skopiuj treść któregoś z paragrafów na tej stronie, użyj go do zdefiniowania stringa i wywołując na nim metodę count sprawdź ile razy występują w nim następujące ciągi znaków: i, string oraz na.'.count('i')) +#print('Ilość sylab "na":','count przyjmuje jeden string jako argument i zwraca liczbę wystąpień tego łańcucha w stringu na jakim wykonaliśmy operację. Metoda ta przydaje się, kiedy na przykład chcemy sprawdzić czy jakaś fraza powtarza się więcej niż raz w danym stringu: :snake: Skopiuj treść któregoś z paragrafów na tej stronie, użyj go do zdefiniowania stringa i wywołując na nim metodę count sprawdź ile razy występują w nim następujące ciągi znaków: i, string oraz na.'.count('na')) + +#print('Długość stringa','"Kubuś Puchatek":',len('Kubuś Puchatek')) +#print('Długość pustego stringa:',len('')) +#print('Długość stringa, moje imię:',len('Michał Drab')) diff --git a/Solutions_MD/03_solutions_help.py b/Solutions_MD/03_solutions_help.py new file mode 100644 index 0000000..f9be60e --- /dev/null +++ b/Solutions_MD/03_solutions_help.py @@ -0,0 +1,4 @@ +#help('jakiś string'.find) +#help('jakiś string'.replace) +#help('jakiś string'.count) +#help('jakiś string'.__len__) \ No newline at end of file diff --git a/Solutions_MD/04_solution_liczby.py b/Solutions_MD/04_solution_liczby.py new file mode 100644 index 0000000..e30e481 --- /dev/null +++ b/Solutions_MD/04_solution_liczby.py @@ -0,0 +1,15 @@ +# dzialania na liczbach +print('20+17=',20 + 17) +print('2 + 0 + 1 + 7=',20 + 17) +print('20 - 1 - 7=',20 - 1 - 7) +print('20 * 17=',20 * 17) +print('20 / 17=',20 / 17) + + +print('dzielenie bez reszty','20 // 17=',20 // 17) +print('Potegowanie: 201^7=',201 ** 7) +print('sprawdzić resztę z dzielenia (ang. modulo): 20/17=',20 % 17) +print('Łączenie działań: 20 / 2 + 17 * 3=',20 / 2 + 17 * 3) +print('Łączenie działań: 20 / (20 * (2 + 17)) / 3=',(20 * (2 + 17)) / 3) +print('Dzialania na liczbach rzeczywistych ("float"): 6.7 + 0.3 - 2.5=',6.7 + 0.3 - 2.5) + diff --git a/Solutions_MD/05_solution_bledy.py b/Solutions_MD/05_solution_bledy.py new file mode 100644 index 0000000..a84bb6a --- /dev/null +++ b/Solutions_MD/05_solution_bledy.py @@ -0,0 +1 @@ +#'ala ma kota" \ No newline at end of file diff --git a/Solutions_MD/06_zmienne.py b/Solutions_MD/06_zmienne.py new file mode 100644 index 0000000..528a7ac --- /dev/null +++ b/Solutions_MD/06_zmienne.py @@ -0,0 +1,22 @@ +imie= 'Michal' +nazwisko='Drab' +imie_nazwisko = imie + nazwisko +print(imie_nazwisko) +#1abc = 0 +#print(1abc) # SyntaxError: invalid syntax +imie_nazwisko= 'michal drab' +print(imie_nazwisko) +print(imie_nazwisko.title()) +print(imie_nazwisko.upper()) +print(imie_nazwisko.lower()) + + +cena_netto = 120 +podatek_vat = cena_netto * 0.23 +cena_brutto = cena_netto + podatek_vat + +print("cena netto=",cena_netto) +print("podatek vat= cena netto * 23%=", podatek_vat) +print("Cena brutto = cena netto + podatek vat =", cena_brutto) + + diff --git a/Solutions_MD/07_solution_funkcje.py b/Solutions_MD/07_solution_funkcje.py new file mode 100644 index 0000000..9a42e58 --- /dev/null +++ b/Solutions_MD/07_solution_funkcje.py @@ -0,0 +1,6 @@ +def kwadrat(liczba): + result=liczba**2 + return [result] #to nie działało + #print (result) +kwadrat(1) + diff --git a/Solutions_MD/L07.py b/Solutions_MD/L07.py new file mode 100644 index 0000000..26fdc6c --- /dev/null +++ b/Solutions_MD/L07.py @@ -0,0 +1,7 @@ +def pole_kola(promien): + pole=3.14*(promien**2) + #print('pole kola=',pole) + return pole + + + \ No newline at end of file diff --git a/notatki.md b/notatki.md new file mode 100644 index 0000000..81327da --- /dev/null +++ b/notatki.md @@ -0,0 +1,95 @@ +`mkdir` tworzenie folder +`git clone [https://github.com/Misiek01/pyladies-workshop.git]` klonowanie repozytorium na Maku +`git clone 'https://github.com/Misiek01/pyladies-workshop.git' Klonowanie na Win + +`git add` add Add file contents to the index. Files to add content from. Fileglobs (e.g. *.c) can be given to add all matching files. + +`git commit` Record changes to the repository. Important to use -m option and provide commitment message. Othervise terminal will be blocked + +Metody operacji na Stringach + +`'Kubuś Puchatek'.lower()` funkcja zamieniajaca duze litery `string` na male +* `upper` - przeciwieństwo `lower`, +* `title` - zamienia każdą pierwszą literę każdego wyrazu z małej na +wielką, +* `strip` - usuwa spacje z lewej i prawej strony stringa (jeżeli +istnieją). +* `find` - wyszukuje w stringu podany łańcuch i zwraca numer znaku +(mówimy: indeks znaku), w którym ten łańcuch się zaczyna. Zwróć uwagę, +że znaki numerowane są od zera +jako argument przyjmuje string i szuka go w stringu na jakim wywołaliśmy operację. Jeżeli łańcuch zostanie znaleziony, otrzymujemy numer znaku, od którego się zaczyna. W przeciwnym wypadku dostaniemy -1 +Wielkość liter ma znaczenie. Pomylona duza z mala daje `-1` +Nalezy pamiętać, ze początek pozycjonowania to `0` dlatego literka `r` tak naprawdę ma pozycję 24 nie 23. Wazna jest interpretacja uzyskanych wyników + +* `replace`- przyjmuje dwa argumenty: stringi a i b. Kiedy wywołamy tę metodę na jakimś stringu, to wszystkie wystąpienia łacucha a w tym stringu zostaną zastąpione łańcuchem b. +Mozna `zastępować znaki: 'Ala ma kota'.replace(' ', '-')`, `zastąpić całe wyrazy: 'Ala ma kota'.replace('kota', 'psa')` lub `usunięcie ze stringa jakiegoś znaku 'Jan Kowalski'.replace('Kowalski', '')` + +* `count`- przyjmuje jeden string jako argument i zwraca liczbę wystąpień tego łańcucha w stringu na jakim wykonaliśmy operację. +Metoda ta przydaje się, kiedy na przykład chcemy sprawdzić czy jakaś fraza powtarza się więcej niż raz w danym stringu: +`'Ala ma kota'.count('ma')` wynik `1` +`'Ala ma kota, a Ola ma psa'.count('ma')` wynik `2` + +* `len`- Jedną z najbardziej przydatnych operacji, jaką możemy wykonać na stringu, jest sprawdzenie jego długości. Przykładowo, chcemy sprawdzić czy nie jest zbyt długi, albo chcemy sprawdzić który z dwóch stringów jest dłuższy. Długość stringa:`len('Kubuś Puchatek')`. `Len` nie jest metodą, czyli nie stosujemy notacji obiekt.metoda(). Jest tak, ponieważ sprawdzenie długości jakiegoś obiektu (w tym przypadku: stringa) jest na tyle popularną operacją, że w Pythonie stworzono osobną funkcję, która ją wykonuje + +* `help`- Każda metoda zdefiniowana w Pythonie posiada dokumentację, która w kilku słowach opisuje jej działanie. Aby przeczytać tę dokumentację, należy wywołać funkcję help. Przykład: `help('jakiś string'.find)` + +* liczby całkowite `integer` - `**` potęgowanie, `//` dzielenie całkowite, `%` reszta z dzielenia (modulo). Wynik operacji na liczbach całkowitych, moze dac wynik w liczbach rzeczywistych + +* liczby rzeczywiste `float` - liczby "zmiennoprzecinkowe" + +* operatory i kolejnosc: + 1. `**` potegowanie + 2. `*`, `/`, `//`, `%` Mnożenie, dzielenie, dzielenie całkowite, modulo + 3. `+`. `-` Dodawanie i odejmowanie + +`Błędy`: + +`SyntaxError` - Błąd składni + +`EOL` - End Of Line, Komunikat sugeruję na miejsce błędu + +`traceback` - Pomaga zlokalizować miejsce problemu w kodzie. Uważnie przeczytać komunikat linijka po linijce. Wtedy dojdę co jest nie tak + + +`ZMIENNE`: + +Aby poradzić sobie z problemem przechowania wyniku operacji, używamy zmiennych + +Operację zmienna = wartość nazywamy przypisaniem. W wyniku przypisania Python tworzy zmienną, która otrzymuje wartość. Jeżeli wartość jest operacją (np. dodawaniem), to najpierw jest obliczany jej rezultat, a następnie zostaje on przypisany do zmiennej + +Ograniczenia na znaki użyte do nazwania zmiennej: + +* litery od a do z (małe) oraz od A do Z (wielkie) +* cyfry +* znak (podłoga) + +Wszystkie pozostałe znaki są niedozwolone. Co istotne, nazwa nie może zaczynać się od cyfry +#1abc = 0 +#print(1abc) # SyntaxError: invalid syntax + +W każdej chwili możemy zmienić wartość zmiennej: + +>>> x = 'Ala ma kota' +>>> x +'ala ma kota' +>>> x = 'kot ma Alę' +>>> x + +Na zmiennych można zastosować metody (zpoprzednich cw) takie jak `find`, `upper`, `title` itp + +`FUNKCJE` + +>>> exit() +PS C:\Users\MIDRA\OneDrive - Ørsted\Desktop\Code\Python_cw> cd +PS C:\Users\MIDRA\OneDrive - Ørsted\Desktop\Code\Python_cw> cd .\pyladies-workshop\ +PS C:\Users\MIDRA\OneDrive - Ørsted\Desktop\Code\Python_cw\pyladies-workshop> cd .\Solutions_MD\ +PS C:\Users\MIDRA\OneDrive - Ørsted\Desktop\Code\Python_cw\pyladies-workshop\Solutions_MD> python +Python 3.9.4 (tags/v3.9.4:1f2e308, Apr 6 2021, 13:40:21) [MSC v.1928 64 bit (AMD64)] on win32 +Type "help", "copyright", "credits" or "license" for more information. +>>> import L07 + + +`ctr+/` haszuje zaznaczony obszar kodu + +C:Users>python `-i` LO7.py +to wywołanie pythona z opcją "i", które wykona funkcje w pliku \ No newline at end of file diff --git a/text.md b/text.md new file mode 100644 index 0000000..e69de29