Zum Hauptinhalt springen
🔒 Vorschaumodus. Die ersten fünfzehn Foundations-Lektionen sind kostenlos; diese hier ist Pro. Starte einen 7-Tage-Trial, um den Editor, AI-Hinweise und den Rest des Lehrplans freizuschalten. Karte erforderlich, jederzeit im Dashboard kündbar.7-Tage-Trial starten →
← KurseSenior Deep-DivesModule 6 · FAANG-2026 deep divesC3 linearisation — predict the MROpredict107 / 161
+150 XP
Aufgabe
📝 **Aufgabe:** Die genaue Ausgabe vorhersagen. Diamantvererbung: \`D(B, C)\` und \`E(C, B)\` – dieselben vier Klassen, entgegengesetzte Reihenfolge in den Basen. Jeder erhält ein anderes MRO. Dann versucht der Test \`F(D, E)\` – was SOWOHL „B vor C“ (von Ds MRO) als auch „C vor B“ (von Es) erfordern würde. Was geschieht? 📋 Implementieren Sie die obige Funktion. Tests laufen automatisch ab. 💡 **Hinweis:** Lesen Sie die Theorie noch einmal, wenn Sie nicht weiterkommen.
Sage die Ausgabe vorher

Lies den Code sorgfältig

class A:
    pass


class B(A):
    pass


class C(A):
    pass


class D(B, C):
    pass


class E(C, B):
    pass


print([cls.__name__ for cls in D.__mro__])
print([cls.__name__ for cls in E.__mro__])

try:
    class F(D, E):
        pass
except TypeError:
    print("F:mro_conflict")

Was wird das Programm ausgeben? Schreib hier:

💬 Diskussion

Sei der erste — stelle eine Frage oder teile einen Tipp.
Anmelden um an der Diskussion teilzunehmen. Lesen ist kostenlos.
Diskussion wird geladen…