data = """UNCOPYRIGHTABLE
FLIPPER
EXECUTABLE
UNPROFITABLE
QUESTIONABLY
WINDOW
TAMBOURINE
. """
def daten_aufbereiten(data):
""" Wandelt die Daten in Zeilen
in einer Liste um und gibt die
Liste zurück...
"""
zeilen = data.replace(" ","").split("\n")
if zeilen[-1] == ".":
zeilen.pop()
return zeilen
def distinct_letters_pruefen(wort):
""" Muss prüfen, ob ein Wort einen
Buchstaben mehr als einmal nutzt,
dann ist der Rückgabewert
FALSE
sonst
TRUE
"""
if len(wort) != len(set(wort)):
return False
else:
return True
woerter = daten_aufbereiten(data)
for wort in woerter:
if distinct_letters_pruefen(wort):
print("{} USES DISTINCT LETTERS.".format(wort))
else:
print("{} DOES NOT USE DISTINCT LETTERS.".format(wort))
Ich finde meine Lösung intelligent, weil kurz und richtige Ergebnisse geliefert werden ohne dass ich eine Prüfung je Buchstabe durchführen muss.
Dienstag, 5. März 2013
Distinct Letters
Das Problem 8 „Distinct Letters“ von HP Code wars 2013 für 4 Punkte ist eher eines der sehr einfachen Probleme. Es muss geprüft werden, ob ein Wort einen jeden Buchstaben des Wortes nur einmal verwendet.
Abonnieren
Kommentare zum Post (Atom)
Wieder überflüssiges ``if``/``else`` weil die Bedingung im ``if`` ja schon zu einem Wahrheitswert ausgewertet wird.
AntwortenLöschen