Samstag, 2. März 2013

Spellbinder

Aufgabe Spellbinder war Problem 2 bei HP Code wars II. Das Problem ist recht einfach, wie mir scheint:
import string


def buchstaben_ermitteln(eingabe,ausgabe):
    ''' Ermittelt den Buchstaben und stellt fest,
    ob es Groß- (capital) oder Kleinbuchstabe (lower-case)
    ist...
    '''
    for a, b in zip(eingabe,ausgabe):

        if a != b:
            letter = b
            break

    if letter in string.ascii_uppercase:
        type = "capital"
    else:
        type = "lower_case"

    return type,letter
    

data = """fountain mountain
pet pen
check chuck
Mike bike"""

data = data.split("\n")

for line in data:
    ''' Ausgabe
    '''
    ausgabe,eingabe = line.split(" ")

    type,letter = buchstaben_ermitteln(eingabe,ausgabe)
    
    print('Ripping the {} "{}" from his shirt, Letterman'.format(type,letter)) 
    
    print('changes "{}" back to "{}".'.format(eingabe,ausgabe))
Keine Herausforderung für 2 Punkte.

1 Kommentar:

  1. Statt in `string.ascii_uppercase` zu suchen, hätte man die `isupper()`-Methode auf Zeichenketten verwenden können. Ich hätte das auch nicht in die Funktion geschrieben, sondern separat mit einem bedingten Ausdruck beim Erstellen des Textes entschieden. Eine Funktion sollte nach Möglichkeit nur eine Sache machen.

    AntwortenLöschen