CSci 150: Foundations of computer science I
Home Syllabus Assignments Tests

Another class

def comparePeople(a, b):
    return cmp(a.name, b.name)

class Person():
    def __init__(self, name):
        self.name = name
        self.friends = []

    def addFriend(self, other):
        self.friends.append(other)
        other.friends.append(self)

    def getFriends(self):
        return sorted(self.friends, comparePeople)

def run():
    people = {}
    while True:
        cmd = raw_input('Command? ')
        parts = cmd.split()
        if parts[0] == 'add':
            a = Person(parts[1])
            people[a.name] = a
        elif parts[0] == 'friend':
            a = people[parts[1]]
            b = people[parts[2]]
            a.addFriend(b)
        elif parts[0] == 'friends':
            a = people[parts[1]]
            for b in a.getFriends():
                print b.name
        elif parts[0] == 'quit':
            return
        else
:
            print 'unknown command', parts[0]

run()