pytraning 2.0 #3: miłość, pyhon, logika i stringi
TRANSCRIPT
![Page 1: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/1.jpg)
![Page 2: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/2.jpg)
PyTraning2.0 #3:Miłość, Pyhon, logika i stringi
if, or, and, is, not, in
![Page 3: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/3.jpg)
Porównanie
Porównanie to zestawienie wskazujące na podobieństwo pod jakimś względem dwóch rzeczy,
zmiennych etc.
Nas interesuje wynik tego porównania.
![Page 4: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/4.jpg)
Porównanie>>> 2 > 1>>> 2 < 1>>> 1 == 2>>> 1 == 1.0>>> 10 >= 10>>> 13 <= 1 + 3>>> -1 != 0
![Page 5: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/5.jpg)
Porównanie
>>> x = 5>>> x < 10>>> 2 * x > x>>> (x < 10) and (2*x > x)>>> (x != 5) and (x != 4)>>> (x != 5) and (x != 4) or (x == 5)
![Page 6: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/6.jpg)
Ćwiczenie: co Wąż wie o miłości ☺
>>> import this>>> love = this>>> love is this>>> love is not True or False>>> love is love
![Page 7: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/7.jpg)
Porównanie - podsumowanieW Pythonie możemy użyć następujących operatorów do porównań:
==is!=
not>=<=In
Oraz do ich łączenia:andor
![Page 8: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/8.jpg)
Warunkowość
Składnia:if WARUNEK:zrob_cos_tam()
Przykład:if 2 > 1:print("OK")
![Page 9: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/9.jpg)
Indentacja !
ERROR !IndentationError: expected an indented block
![Page 10: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/10.jpg)
Indentacja - wcięcia
Składnia:if WARUNEK:
zrob_cos_tam()Przykład:
if 2 > 1:print("OK")
![Page 11: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/11.jpg)
Warunkowość – jeśli nie
Składnia:if WARUNEK:
zrob_cos_tam()else:
zrob_coś_innego()
Przykład:if 2 > 1:print("OK")else:print(“FOCH”)
![Page 12: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/12.jpg)
Warunkowość – jeśli coś innego
Składnia:if WARUNEK:
zrob_cos_tam()elif WARUNEK_2:
zrob_cos_tam_2()else:
zrob_cos_innego()
Przykład:if x > 1:print("OK")elif x < 1:print(“Och”)else:print(“FOCH”)
![Page 13: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/13.jpg)
Zadanie: Python dietetyk – BMI 2
Wykorzystując kod z poprzednich zajęć, napisz listę warunków, która określi stan użytkownika zgodnie z poniższą tabelką:
BMI OCENA< 18,5 niedowaga
18,5 – 24,99 norma
25,0 – 29,99 nadwaga
≥ 30,0 otyłość
![Page 14: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/14.jpg)
BMI 2 - Rozwiązanieheight = float(input("Enter your height in meters:"))weight = float(input("Enter your weight in kilograms:”))bmi = weight / height**2 # Calculate BMI
![Page 15: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/15.jpg)
BMI 2 - Rozwiązanieheight = float(input("Enter your height in meters:"))weight = float(input("Enter your weight in kilograms:”))bmi = weight / height**2 # Calculate BMI
if bmi < 18.5: print(”niedowaga")elif bmi < 25.0: print(”norma")elif bmi < 30.0: print(”nadwaga")else: print(”otylosc")
![Page 16: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/16.jpg)
Zadanie: Python dietetyk – BMI 3
Wykorzystując kod z poprzedniego zadania, dodaj określenie wyniku na podstawie płci użytkownikaKobiety:Mężczyźni:
BMI OCENA< 18,5 Niedowaga
18,5 – 22,49 norma
22,50 – 27,49 nadwaga
≥ 27,50 otyłość
BMI OCENA< 20 Niedowaga
20 – 24,99 norma
25,0 – 29,99 nadwaga
≥ 30,0 otyłość
![Page 17: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/17.jpg)
BMI 3 - Rozwiązanieheight = float(input("Enter your height in meters:"))weight = float(input("Enter your weight in kilograms:”))sex = input(‘podaj swoja plec – m/k’)bmi = weight / height**2 # Calculate BMI
if (bmi < 18.5 and sex == ‘k’) or (bmi < 20 and sex == ‘m’): print(”niedowaga")elif (bmi < 22,5 and sex == ‘k’) or (bmi < 25 and sex == ‘m’): print(”norma")elif (bmi < 27,5 and sex == ‘k’) or (bmi < 30 and sex == ‘m’): print(”nadwaga")else: print(”otylosc")
![Page 18: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/18.jpg)
Formatowanie stringów
Składnia:„{}”.format(zmienna)Przykład:print(„Twoja waga wynosi {}”.format(waga))
print(„{} * {} = {}”.format(2, 2, wynik))
![Page 19: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/19.jpg)
Zadanie: Python dietetyk – BMI 4
Zmodyfikuj poprzedni skrypt do liczenia BMI, aby wyświetlał odpowiedź w taki sposób:
>>> “Przy wadze 80kg i wzroście 185cm Twoje BMI wynosi 24,5, więc mieścisz się w normie.”>>> “Przy wadze 50kg i wzroście 185cm Twoje BMI wynosi 14,5, więc musisz zacząć jeść.”
![Page 20: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/20.jpg)
BMI 4 - Rozwiązanieheight = float(input("Enter your height in meters:"))weight = float(input("Enter your weight in kilograms:”))
sex = input(‘podaj swoja plec – m/k’)bmi = weight / height**2 # Calculate BMIresp = “Przy wadze {}kg i wzroście {}cm Twoje BMI wynosi {} więc
“.format(weight, height, bmi)
if (bmi < 18.5 and sex == ‘k’) or (bmi < 20 and sex == ‘m’): print(resp + ”masz niedowage, zacznij jesc")elif (bmi < 22,5 and sex == ‘k’) or (bmi < 25 and sex == ‘m’): print(resp + ”jestes w normie”)elif (bmi < 27,5 and sex == ‘k’) or (bmi < 30 and sex == ‘m’): print(”{} masz nadwage, jedz troche mniej”.format(resp))else: print(“{} jesteś otyły, udaj się do lekarza ☹”. format(resp))
![Page 21: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/21.jpg)
Trolle
Dobrze, ale co się stanie, jeśli użytkownik:1. Poda inną literkę niż M lub K ?2. Co jeśli poda wielką literę zamiast małej?3. Co jeśli poda słownie wzrost a nie cyfrą ?
![Page 22: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/22.jpg)
Metody
Metoda – to funkcja obiektu. Z reguły użyteczna tylko dla tego konkretnego obiektu. W Pythonie wywołujemy ją “bezpośrednio” na obiekcie, np:
>>> ‘test’.upper()>>> text = ‘cos ciekawego’>>> text.title()
![Page 23: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/23.jpg)
Metody - StringiModyfikujące:capitalize()count(str)find(str)lower()replace(old, new)rfind() strip([chars]) swapcase() title()upper()
Sprawdzające:endswith(str)isalnum() isalpha() isdigit() islower()isnumeric() isspace()istitle()isupper() startswith(str)
![Page 24: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/24.jpg)
Metody - StringiModyfikujące:capitalize()count(str)find(str) lower()replace(old, new)rfind(str) strip([chars]) swapcase() title()upper()
Sprawdzające:endswith(str)) isalnum() isalpha() isdigit() islower() isnumeric() isspace() istitle()isupper() startswith(str)>>> text = ‘ala ma kota’
>>> text.upper()>>> text.replace(‘l’, ‘ni’)>>> text.strip(‘a’)
>>> text = ‘ala ma kota’>>> text.startswith(‘ala’)>>> text.endswith(‘ala’)>>> text.isalpha()
![Page 25: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/25.jpg)
Co jeszcze można zrobić ze stringamiOprócz wywoływania na nich metod, łączenia (+), czy mnożenia przez liczby, możemy jeszcze je ciąć na różne sposoby.Ważne: komputery liczą od zera!>>> text = “ala ma kota”>>> text[0] - string[int]>>> text[2:] - string[int:]>>> text[:5] - string[:int]>>> text[3:7] - string[int:int]>>> text[::2] - stirng[::int]>>> text[::-1] - stirng[::int]
![Page 26: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/26.jpg)
BMI 5: antytroll edition
Naszą aplikację do liczenia BMI uodpornij na złośliwych użytkowników:- Sprawdź, czy waga i wzrost są liczbami i czy są one
większe od 0- Zabezpiecz aplikacje przed podaniem złej literki oraz
podaniem wielkiej zamiast małej.- Sprawdź, czy możesz popsuć swoja aplikację i pochwal
się jak można ją zabezpieczyć.
![Page 27: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/27.jpg)
ZADANIE 5: Kalkulator
Napisz kalkulator, który pobiera dwie liczby i wykonuje na nich operację podaną przez użytkownika(*, +, -, /). Wynik wypisz w przyjemnej dla oka formie przykład:
>>> ’Podaj Pierwsza cyfre: '10>>> ’Podaj dzielanie (+, -, *, /): '+>>> ’Podaj druga cyfre: ‘5'10 + 5 = 15'
![Page 28: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/28.jpg)
ZADANIE 5 rozwiazanieliczba_1 = int(input(‘Podaj pierwsza cyfre: ‘))dzialanie = (input(‘Podaj dzielanie (+, -, *, /): ‘)liczba_2 = int(input(‘Podaj druga cyfre: ‘))
if dzialanie == ‘+’: wynik = liczba_1 + liczba_2 elif dzialanie == ‘*’: wynik = liczba_1 * liczba_2 dzialanie == ‘-’: wynik = liczba_1 - liczba_2else: wynik = liczba_1 / liczba_2
print(‘{} {} {} = {}’.format(liczba_1, dzialanie, liczba_2, wynik))
![Page 29: PyTraning 2.0 #3: Miłość, Pyhon, logika i stringi](https://reader036.vdocuments.pub/reader036/viewer/2022062822/587efd6b1a28ab35528b6619/html5/thumbnails/29.jpg)