Since you're in Python 3, print is a function, so you call it as: print(a). In Python 2 (what your friend is using), you can leave off the parenthesis, and call it as just: print a, but this won't work in the future, so your way is correct.
Also, your version (print(a)) will work on both Python 3 and Python 2, since extra parenthesis are ignored as long as they match. I recommend always writing it in Python 3 style, since it works in both. You can make this explicit and required by using the (somewhat magical) __future__ module:
from __future__ import print_function
Having print as a function causes some other differences, since in Python 3, you can set a variable to point to print, or pass it as an argument to a function:
a = print
a('magic') # prints 'magic'
def add_and_call(func, num):
num += 1
func(num)
add_and_call(print, 1) # prints 2