# HP Code wars 2013 # problem 12 # Morse Code Palindrome # 6 points def botschaft_decodieren(botschaft): """ Bekommt eine Botschaft und setzt sie in Morsezeichen um. Leerzeichen und Satzzeichen werden ignoriert. Kleinbuchstaben werden nicht erwartet oder beachtet. """ morsecode = {"A": "•-", "B": "-•••", "C": "-•-•", "D": "-••", "E": "•", "F": "••-•", "G": "--•", "H": "••••", "I": "••", "J": "•---", "K": "-•-", "L": "•-••", "M": "--", "N": "-•", "O": "---", "P": "•--•", "Q": "--•-", "R": "•-•", "S": "••••", "T": "-", "U": "••-", "V": "•••-", "W": "•--", "X": "-••-", "Y": "-•--", "Z": "--••"} codierte_botschaft = [] for a in botschaft: codierte_botschaft.append(morsecode.get(a,"")) return "".join(codierte_botschaft) def palindrom_testen(datensatz): """ Testet auf ein Palindrom und schickt den Datensatz dazu zum decodieren """ botschaft = botschaft_decodieren(datensatz) if botschaft == botschaft[::-1]: return True else: return False data = """ELEGIZED QUIRKILY MERCURY FACE A WINE HAPPY DAY FEVER REBEL SOPRANOS EMIT OLD UFO TIME PROTEIN POWDER ANNEXING ENJOIN . """ datensaetze = data.split("\n") for datensatz in datensaetze: datensatz = datensatz.strip(" ") if not datensatz == ".": if palindrom_testen(datensatz): print ("{} is a MCP".format(datensatz)) else: print("{} is *not* a MCP".format(datensatz))Anders als einige andere Aufgaben des diesjährigen Wettbewerbs eher keine Herausforderung.
Sonntag, 10. März 2013
Morse Code Palindrome
Das „Morse Code Palindrome“-Problem gehört zum „HP Code wars“-Wettbewerb 2013 und war eher sehr einfach zu lösen. Einmal galt es eine Botschaft in Morsecode zu übersetzen und dann die Botschaft auf ihre Palindrom-Eigenschaft hin zu untersuchen:
Abonnieren
Kommentare zum Post (Atom)
Keine Kommentare:
Kommentar veröffentlichen