Preskoči na glavni sadržaj
🔒 Način pregleda. Prvih petnaest Foundations lekcija je besplatno; ova je Pro. Pokrenite 7-dnevni trial da otključate editor, AI savjete i ostatak programa. Kartica obavezna, otkažite bilo kada u Dashboard.Pokreni 7-dnevni trial →
← KolegijiSenior Deep-DivesModule 7 · Memory, GC, modern typing__match_args__ — making your classes destructurablepredict124 / 161
+150 XP
Zadatak
📝 **Zadatak:** Predvidite točan rezultat. Pet vrijednosti boja uspoređuju se s pet slučajeva redom. Doslovno točno podudaranje, uvezivanje + štitnik i zamjenski znak-s-literalom svaki vježba drugačiji oblik. Prvi odgovarajući slučaj pobjeđuje za svaki unos. 📋 Implementirajte gornju funkciju. Testovi se pokreću automatski. 💡 **Savjet:** Ponovno pročitajte teoriju ako zapnete.
Predvidi izlaz

Pažljivo pročitaj kod

class Color:
    __match_args__ = ("r", "g", "b")

    def __init__(self, r: int, g: int, b: int) -> None:
        self.r, self.g, self.b = r, g, b


def describe(c: Color) -> str:
    match c:
        case Color(0, 0, 0):
            return "black"
        case Color(255, 255, 255):
            return "white"
        case Color(r, g, b) if r == g == b:
            return f"gray({r})"
        case Color(r, 0, 0):
            return f"red-only({r})"
        case Color(r, g, b):
            return f"rgb({r},{g},{b})"
    return "unreachable"


print(describe(Color(0, 0, 0)))
print(describe(Color(255, 255, 255)))
print(describe(Color(50, 50, 50)))
print(describe(Color(200, 0, 0)))
print(describe(Color(10, 20, 30)))

Što će program ispisati? Napiši ovdje:

💬 Rasprava

Budi prvi — postavi pitanje ili podijeli savjet.
Prijavi se kako bi se pridružio raspravi. Čitanje je besplatno.
Učitavanje rasprave…