Mittwoch, 6. Februar 2013

List maker

Eine nette kleine Aufgabe bei HP Codewars aus dem Jahr 2010 und die Lösung:
def abarbeiten(data):
    ''' Bekommt als data eine Reihe von Befehlen
    und fuehrt Aufgaben auf einer Liste aus

    '''
    liste = []
    zeilen = data.split("\n")
    for line in zeilen:

        line = line.strip(" ")
        
        if line == "SHOW":
            print(" ".join(liste))
        else:
            befehl, inhalt = line.split(" ",1)

            if befehl == "ADD":
                # ADD X – puts item X at the end of the list
                liste.append(inhalt)
            elif befehl == "INSERT":
                # INSERT X N – puts item X into the list just before item N
                item, item_alt = inhalt.split(" ")
                position = liste.index(item_alt)
                liste.insert(position,item)
                
            elif befehl == "REMOVE":
                # REMOVE X – removes item X from the list
                liste.remove(inhalt)

                
data = """ADD NEVER
ADD COLLAR 
INSERT CAT COLLAR 
ADD DOG 
ADD SCARES
INSERT ANYTHING CAT
REMOVE CAT
INSERT THAT SCARES
REMOVE COLLAR 
INSERT WEAR ANYTHING
REMOVE DOG  
ADD CAT
INSERT YOUR CAT
SHOW"""

abarbeiten(data)
Eine eher einfache Aufgabe. Neu für mich der Befehl insert() bei einer Liste.

Keine Kommentare:

Kommentar veröffentlichen