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()