Hinzufügen von Funktionen
Verfasst: Dienstag 28. Juni 2022, 23:20
Hi, wir haben folgendes Problem und bräuchten einmal bitte Eure fachkundige Hilfe:
Es geht um diesen Code:
with open("german.txt") as f:
words = f.read().split()
for word in words:
color = word.lower().replace("o", "0").replace("i", "1").replace("s", "5").replace("t", "7")
if len(word) == 3 or len(word) == 6:
ok = True
for c in color:
if c not in "abcdef0123456789":
ok = False
break
if ok:
print(word, "#" + color)
German.txt ist einfach eine Liste mit deutschen Wörtern.
Dieses Programm funktioniert, soll aber nun mit zwei neuen Funktionen laufen, die in der Schleife for word in words: aufgerufen werden.
So sollte es doch dann eigentlich funktionieren:
with open("german.txt") as f:
words = f.read().split()
def replace_letters_with_numbers(word):
color = word.lower().replace("o", "0").replace("i", "1").replace("s", "5").replace("t", "7")
def is_valid_color(word):
if len(word) == 3 or len(word) == 6:
ok = True
for c in color:
if c not in "abcdef0123456789":
ok = False
break
if ok:
print(word, "#" + color)
for word in words:
replace_letters_with_numbers(word)
is_valid_color(word)
Funktioniert aber leider nicht...
Beim Rumprobieren kam es zwischenzeitlich zu dem Ergebnis, dass lediglich das letzte Wort in der Liste ausgegeben wurde...
Sieht vielleicht jemand das Problem?
Vielen Dank im voraus und viele Grüße!
Es geht um diesen Code:
with open("german.txt") as f:
words = f.read().split()
for word in words:
color = word.lower().replace("o", "0").replace("i", "1").replace("s", "5").replace("t", "7")
if len(word) == 3 or len(word) == 6:
ok = True
for c in color:
if c not in "abcdef0123456789":
ok = False
break
if ok:
print(word, "#" + color)
German.txt ist einfach eine Liste mit deutschen Wörtern.
Dieses Programm funktioniert, soll aber nun mit zwei neuen Funktionen laufen, die in der Schleife for word in words: aufgerufen werden.
So sollte es doch dann eigentlich funktionieren:
with open("german.txt") as f:
words = f.read().split()
def replace_letters_with_numbers(word):
color = word.lower().replace("o", "0").replace("i", "1").replace("s", "5").replace("t", "7")
def is_valid_color(word):
if len(word) == 3 or len(word) == 6:
ok = True
for c in color:
if c not in "abcdef0123456789":
ok = False
break
if ok:
print(word, "#" + color)
for word in words:
replace_letters_with_numbers(word)
is_valid_color(word)
Funktioniert aber leider nicht...
Beim Rumprobieren kam es zwischenzeitlich zu dem Ergebnis, dass lediglich das letzte Wort in der Liste ausgegeben wurde...
Sieht vielleicht jemand das Problem?
Vielen Dank im voraus und viele Grüße!