Pancake sort interview with Python
flip

For starter, you can swap two variables in Python without using a temporary one:

&gt;&gt;&gt; a = 3
&gt;&gt;&gt; b = 5
&gt;&gt;&gt; a, b = b, a
&gt;&gt;&gt; print(a, b)
5 3


But above all, this function is better implemented using slices:

def flip(arr, i):
    arr[:i] = reversed(arr[:i])


Or 

def flip(arr, i):
    arr[:i] = arr[i-1::-1]


findMaxUpTo

Same here, slices and builtin functions can go a long way into simplifying the code. A "max" function that doesn't use the max builtin feels wrong to me.

A naïve rewrite would be:

def findMaxUpTo(arr, i):
    val = max(arr[:i])
    return arr.index(val)


It is good for now. But a better rewrite would make use of enumerate and the key argument of max. Possibly involving operator.itemgetter in the process and itertools.takewhile to avoid copying the array.

pancake_sort

Not much to add here, except a note on your return value. Since you are mutating the array in-place, there is absolutely no reason to return a value. Once you call the function on an array, it will be sorted and all previous references to this array will now hold the sorted version. Returning a value can mislead the users that the original array remain untouched, which is false.

Similarly, you never make use of the output variable.

miscelaneous

Your naming style is inconsistent and some variable names don't convey much meaning, please fix it.