Wörter mit bestimmten Eigenschaften erzeugen?
Verfasst: Mittwoch 4. April 2018, 20:41
Hallo zusammen, ich kämpfe mich gerade durch das Buch "Informatik" von Tobias Häberlein und hänge explezit an einer Aufgabe fest.
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:
Es würde mir schon reichen wenn mir jemand sagen kann was ich überhaupt tun soll ... ich bin komplett ratlos :K
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)]