Vai al contenuto principale
🔒 Modalità anteprima. Le prime quindici lezioni di Foundations sono gratuite; questa è Pro. Avvia un trial di 7 giorni per sbloccare l'editor, i suggerimenti AI e il resto del programma. Carta richiesta, disdici in qualsiasi momento dalla Dashboard.Avvia trial di 7 giorni →
← CorsiSenior Deep-DivesModule 7 · Memory, GC, modern typing__match_args__ — making your classes destructurablepredict124 / 161
+150 XP
Compito
📝 **Compito:** Prevedere l'output esatto. Cinque valori di colore vengono confrontati con cinque casi in ordine. Corrispondenza esatta letterale, rilegatura + protezione e carattere jolly con letterale esercitano ciascuno una forma diversa. Il primo caso corrispondente vince per ciascun input. 📋 Implementa la funzione sopra. I test vengono eseguiti automaticamente. 💡 **Suggerimento:** Rileggi la teoria se rimani bloccato.
Predici output

Leggi il codice attentamente

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)))

Cosa stamperà il programma? Scrivi qui:

💬 Discussione

Sii il primo a fare una domanda o condividere un consiglio.
Accedi per partecipare alla discussione. La lettura è gratuita.
Caricamento discussione…