Q:

Order of operation for **

I want to know why does the following happen. 
The code below evaluates right side 1**3 first then 2**1
2**1**3 has the value of 2

However, for the below code left side 7//3 is evaluated first then 2*3. Finally 1+6-1=6. 
1+7//3*3-1 has the value of 6

A:

Take a look at the documentation of operator precedence.  Although multiplication * and floor division // have the same precedence, you should take note of this part:

Operators in the same box group left to right (except for exponentiation, which groups from right to left).

For the convention of 213 being evaluated right-associative, see cross-site dupe on the math stackexchange site: What is the order when doing xyz and why?
The TL;DR is this: since the left-associative version (xy)z would just equal xy*z, it's not useful to have another (worse) notation for the same thing, so exponentiation should be right associative.

