Fortgeschrittenes Python: OOP (Objektorientierte Programmierung)

Ziel

Schritt 1: Vererbung


class Animal:
    def __init__(self, name):
        self.name = name

class Dog(Animal):
    def bark(self):
        print(self.name + " bellt!")

dog = Dog("Bello")
dog.bark()  # Ausgabe: Bello bellt!

Erklärung:

Schritt 2: Quiz-Klassen erstellen


# Frage-Klasse
class Question:
    def __init__(self, text, answer):
        self.text = text
        self.answer = answer

# Spieler-Klasse
class Player:
    def __init__(self, name):
        self.name = name
        self.score = 0

# Quiz-Klasse
class Quiz:
    def __init__(self, questions):
        self.questions = questions

    def start(self, player):
        for question in self.questions:
            guess = input(question.text + " ").lower()
            if guess == question.answer.lower():
                print("Richtig!")
                player.score += 1
            else:
                print("Falsch!")
        print(f"{player.name} hat {player.score} von {len(self.questions)} Punkten erreicht!")

Schritt 3: Quiz starten


# Fragen erstellen
questions = [
    Question("Hauptstadt von Deutschland?", "Berlin"),
    Question("2+2 = ?", "4"),
    Question("Ist Python eine Programmiersprache?", "Yes")
]

# Spieler erstellen
player = Player("Max")

# Quiz starten
quiz = Quiz(questions)
quiz.start(player)

Erklärung:

Aufgabe