Die Aussage der Aufgabe finde ich absolut unverständlich, ich hab keine Ahnung was er von mir will. Sogar die Lösung, deren code ich zwar verstehe, hilft mir nicht, mal abgesehen davon das sie nicht funktioniert.
Da die Lösung für die erste Ausgabe ist könnte es sich um Python 2 handeln, die zweite Ausgabe arbeitet allerdings mit Python 3. Das nur am Rande, ich bin noch zu sehr Noob um das einschätzen zu können.
Das Themengebiet für das diese Aufgabe gilt sind die Funktionen: lambda, map und filter, wobei ich schon gelesen hab, das diese Funktionen nicht gerne gesehen werden.
die Aufgabe Lautet:
gegeben sind diese Definitionen:Schreiben Sie eine Pythonfunktion woerter(n), die alle Wörter der Länge n mit
Buchstaben aus A erzeugt.
Tipp: Zur Lösung kommt man elegant rekursiv, indem man überlegt, was welchen
Wert woerter(0) und woerter(1) haben muss und anschließend überlegt, wie man
woerter(n) aus woerter(n–1) berechnen kann.
Die "Lösung" lautet:C = 'abcdefghijklmnopqrstuvwxyz'
D = map(str, range(0,10)) ; A = C+D
Code: Alles auswählen
def woerter(n):
if n==0: return []
if n==1: return list(A)
return [wort+c for c in A for wort in woerter(n-1)]