diff --git a/examples/list_people.py b/examples/list_people.py
index f131872..d2c294c 100755
--- a/examples/list_people.py
+++ b/examples/list_people.py
@@ -2,30 +2,33 @@
 
 # See README.txt for information and build instructions.
 
+from __future__ import print_function
 import addressbook_pb2
 import sys
 
+
 # Iterates though all people in the AddressBook and prints info about them.
 def ListPeople(address_book):
   for person in address_book.people:
-    print "Person ID:", person.id
-    print "  Name:", person.name
+    print("Person ID:", person.id)
+    print("  Name:", person.name)
     if person.email != "":
-      print "  E-mail address:", person.email
+      print("  E-mail address:", person.email)
 
     for phone_number in person.phones:
       if phone_number.type == addressbook_pb2.Person.MOBILE:
-        print "  Mobile phone #:",
+        print("  Mobile phone #:", end=" ")
       elif phone_number.type == addressbook_pb2.Person.HOME:
-        print "  Home phone #:",
+        print("  Home phone #:", end=" ")
       elif phone_number.type == addressbook_pb2.Person.WORK:
-        print "  Work phone #:",
-      print phone_number.number
+        print("  Work phone #:", end=" ")
+      print(phone_number.number)
+
 
 # Main procedure:  Reads the entire address book from a file and prints all
 #   the information inside.
 if len(sys.argv) != 2:
-  print "Usage:", sys.argv[0], "ADDRESS_BOOK_FILE"
+  print("Usage:", sys.argv[0], "ADDRESS_BOOK_FILE")
   sys.exit(-1)
 
 address_book = addressbook_pb2.AddressBook()
