Add ai generated exercises and their solutions.
This commit is contained in:
parent
a4d25637c4
commit
f7c2959226
28
ai_exercises/01.py
Normal file
28
ai_exercises/01.py
Normal file
@ -0,0 +1,28 @@
|
||||
# Die Aufgabe: Der "Text-Analysator"
|
||||
|
||||
# Schreibe eine Funktion namens analysiere_text, die einen String entgegennimmt und ein Dictionary mit folgenden Informationen zurückgibt:
|
||||
|
||||
# anzahl_zeichen: Die Gesamtzahl der Zeichen (inkl. Leerzeichen).
|
||||
|
||||
# anzahl_woerter: Wie viele Wörter der Text enthält.
|
||||
|
||||
# ist_lang: Ein Boolean, der True ist, wenn der Text mehr als 50 Zeichen hat, andernfalls False.
|
||||
|
||||
def analysiere_text(text):
|
||||
# HIER DEINEN CODE EINFÜGEN
|
||||
ergebnis = {
|
||||
'anzahl_zeichen': len(text),
|
||||
'anzahl_woerter': len(text.split()),
|
||||
'ist_lang': len(text) > 50
|
||||
}
|
||||
|
||||
return ergebnis
|
||||
|
||||
# --- Main-Abschnitt ---
|
||||
if __name__ == "__main__":
|
||||
test_text = "Python programmieren macht Spaß und ist logisch."
|
||||
|
||||
analyse = analysiere_text(test_text)
|
||||
|
||||
print(f"Text: {test_text}")
|
||||
print(f"Ergebnis: {analyse}")
|
||||
22
ai_exercises/02.py
Normal file
22
ai_exercises/02.py
Normal file
@ -0,0 +1,22 @@
|
||||
# Die Aufgabe: Der "Listen-Filter & Transformer"
|
||||
|
||||
# Schreibe eine Funktion namens verarbeite_zahlen, die eine Liste von Zahlen entgegennimmt. Die Funktion soll eine neue Liste zurückgeben, die:
|
||||
|
||||
# Nur die geraden Zahlen aus der ursprünglichen Liste enthält.
|
||||
|
||||
# Jede dieser geraden Zahlen quadriert (hoch 2 nimmt).
|
||||
|
||||
# Die Liste am Ende absteigend sortiert (vom größten zum kleinsten Wert).
|
||||
|
||||
def verarbeite_zahlen(zahlen_liste):
|
||||
return sorted([zahl*zahl
|
||||
for zahl in zahlen_liste if zahl % 2 == 0], reverse=True)
|
||||
|
||||
# --- Main-Abschnitt ---
|
||||
if __name__ == "__main__":
|
||||
meine_zahlen = [3, 8, 2, 5, 10, 7, 4]
|
||||
|
||||
ergebnis = verarbeite_zahlen(meine_zahlen)
|
||||
|
||||
print(f"Eingabe: {meine_zahlen}")
|
||||
print(f"Ergebnis: {ergebnis}")
|
||||
46
ai_exercises/03.py
Normal file
46
ai_exercises/03.py
Normal file
@ -0,0 +1,46 @@
|
||||
# Die Aufgabe: Der "Warenkorb-Manager" (OOP)
|
||||
|
||||
# Erstelle die Klasse Warenkorb. Sie muss so entworfen sein, dass sie mit dem unten stehenden main-Block funktioniert.
|
||||
|
||||
# Anforderungen:
|
||||
|
||||
# Speicherung: Intern sollen die Produkte in einer Liste gespeichert werden.
|
||||
|
||||
# Methoden:
|
||||
|
||||
# hinzufuegen(name, preis): Speichert ein Produkt.
|
||||
|
||||
# gesamtpreis(): Liefert die Summe aller Preise zurück.
|
||||
|
||||
# anzahl_artikel(): Liefert die Anzahl der Produkte zurück.
|
||||
|
||||
# --- HIER DIE KLASSE WARENKORB ERSTELLEN ---
|
||||
|
||||
|
||||
class Warenkorb:
|
||||
def __init__(self):
|
||||
self.__waren = []
|
||||
|
||||
def hinzufuegen(self, produkt, preis):
|
||||
self.__waren.append((produkt, preis))
|
||||
|
||||
def gesamtpreis(self):
|
||||
return sum([preis for _, preis in self.__waren])
|
||||
|
||||
def anzahl_artikel(self):
|
||||
return len(self.__waren)
|
||||
|
||||
|
||||
# --- Main-Abschnitt ---
|
||||
if __name__ == "__main__":
|
||||
# Instanzierung
|
||||
mein_korb = Warenkorb()
|
||||
|
||||
# Methodenaufrufe
|
||||
mein_korb.hinzufuegen("Apfel", 0.99)
|
||||
mein_korb.hinzufuegen("Brot", 2.50)
|
||||
mein_korb.hinzufuegen("Kaffee", 5.95)
|
||||
|
||||
# Ausgaben
|
||||
print(f"Artikel im Korb: {mein_korb.anzahl_artikel()}")
|
||||
print(f"Gesamtsumme: {mein_korb.gesamtpreis():.2f}€")
|
||||
42
ai_exercises/04.py
Normal file
42
ai_exercises/04.py
Normal file
@ -0,0 +1,42 @@
|
||||
# Die Aufgabe: Das "Bibliotheks-System"
|
||||
|
||||
# Wir wollen verschiedene Medientypen in einer Bibliothek verwalten. Alle Medien haben einen Titel, aber Bücher haben zusätzlich eine Seitenzahl, während Filme eine Laufzeit haben.
|
||||
|
||||
# Deine Mission:
|
||||
|
||||
# Erstelle eine Basisklasse Medium.
|
||||
|
||||
# Erstelle zwei Unterklassen: Buch und Film, die von Medium erben.
|
||||
|
||||
# Nutze die Magic Method __str__, damit man ein Objekt einfach mit print(objekt) schön formatiert ausgeben kann.
|
||||
|
||||
# --- HIER DIE KLASSEN Medium, Buch UND Film ERSTELLEN ---
|
||||
|
||||
|
||||
class Medium:
|
||||
def __init__(self, titel, laenge):
|
||||
self._titel = titel
|
||||
self._laenge = laenge
|
||||
|
||||
class Buch(Medium):
|
||||
def __str__(self):
|
||||
return f'BUCH: {self._titel} ({self._laenge} Seiten)'
|
||||
|
||||
class Film(Medium):
|
||||
def __str__(self):
|
||||
return f'FILM: {self._titel} ({self._laenge} Minuten)'
|
||||
|
||||
|
||||
|
||||
# --- Main-Abschnitt ---
|
||||
if __name__ == "__main__":
|
||||
# Erstellung der Objekte
|
||||
buch1 = Buch("Der Prozess", 280)
|
||||
film1 = Film("Inception", 148)
|
||||
|
||||
# Medien in einer Liste sammeln
|
||||
bibliothek = [buch1, film1]
|
||||
|
||||
# Ausgabe der Medien (nutzt automatisch die __str__ Methode)
|
||||
for medium in bibliothek:
|
||||
print(medium)
|
||||
Loading…
x
Reference in New Issue
Block a user