Hi there! I'm Jonathan, one of the developers of the Python course. The course is based entirely on Python 2, with one exception - we use "input" instead of "raw_input", and it behaves the way it does in Python 3.
We chose to base the course on Python 2 for a few reasons:
- We estimate that as of now, Python 2 is more commonly taught in the classroom, and we wanted to make a course that could easily be integrated with an existing Python class.
- A number of 3rd party libraries (including many teaching libraries) use Python 2 and are not necessarily compatible with Python 3.
- We wanted to make student code run entirely in their browsers, rather than on a server. The library we use for this, Skulpt, currently has very limited support for Python 3.
- Python 3 has yet to be widely adopted in industry, so while Python 2 is no longer the newest version of Python, it is very relevant out in the wild. Even the CodeHS site uses Python 2.
Down the road, we may either adapt the course for Python 3 or make a separate Python 3 course.