Python - zajęcia 10

Zadania z fleta:


import flet 
def main(page: flet.Page):
    page.title="Dodaj zadania"

    pole_do_wprowadzenia = flet.TextField(label="Dodaj element")
    lista_elementow=flet.ListView()
    def dodaj(_e):
        if pole_do_wprowadzenia.value:
            def usun_wiersz(_e):
                lista_elementow.controls.remove(wiersz)
                page.update()
            wprowadzone = flet.Text(pole_do_wprowadzenia.value)
            przycisk = flet.FilledButton("usuń", on_click=usun_wiersz)
            wiersz=flet.Row([wprowadzone, przycisk])
            lista_elementow.controls.append(wiersz)
            pole_do_wprowadzenia.value = ""
            page.update()
    
    
    przycisk = flet.FilledButton("Dodaj", on_click=dodaj)

    page.add(pole_do_wprowadzenia, przycisk, lista_elementow)

flet.app(main)

# flet.ListView - dodawanie przez .controls.append()
# flet.Row

_e - od event

o funkcjach już było, ale dla powtórki:

Klasy:

Klasa to swego rodzaju szablon (np. opisujący wspólne cechy psów), a obiekt to konkretna realizacja (np. konkretna rasa, konkretny pies)

self - odwoływanie się do indywidualnych cech obiektu

Zadanie z klas:

# stworz klase Gracz
# chciałbym żeby postać gracza miała
# - imie, str
# - profesja, str
# - hp (pkt zycia), int, wart domyślna 100
# - mana (pkt magii), int, wart domyślna 100

class PostacGracza():
    def __init__(self, imie:str, profesja:str, hp:int=100, mana:int=100, wytrzymalosc:int=100):
        self.imie = imie
        self.hp = hp
        self.mana = mana
        self.wytrzymalosc = wytrzymalosc
    
    def zadaj_obrazenia(self, obrazenia:int):
        self.hp-=obrazenia
        if self.hp<=0:
            print("Gracz umarł")
class Mag(PostacGracza):
    def __init__(self, imie:str, mana:int=100):
        super().__init__(imie=imie, mana=mana)

class Wojownik(PostacGracza):
    def __init__(self, imie:str, wytrzymalosc:int=200):
        super().__init__(imie=imie, wytrzymalosc=wytrzymalosc)

gracz1=Mag("Fizban")
print(gracz1.imie, gracz1.hp, gracz1.mana)

gracz2=Wojownik("Caramon")
print(gracz2.imie, gracz2.hp, gracz2.mana, gracz2.wytrzymalosc)