Exit
  1. Learn
  2. Check
  3. Solve
  4. Reflect

Loops can walk backwards

Reading a list from the bottom up is as easy as from the top down. Start at the last box and step down one at a time until you've visited box 0.

The last box is the length minus one, and the loop must still include box 0 before it stops. Getting either end wrong by one is the classic slip, so it's worth tracing a tiny example by hand the first time.

Start at the last box: the length minus one.
Include box 0: stop only after it.
Walk from the end
1
0
2
1
3
2
4
3
i

i = 3. result = [4]

Move 1 of 4

Build a new list as you go

Start with an empty list. As you walk backwards, add each value to the end of the new list. The first value you meet is the old last value, so it lands first. By the end the new list is the old one reversed.

The original array isn't touched at all. That matters when some other part of the program still needs it in its original order.

Walk backwards, add to the end: the copy comes out reversed.
In code
result = []
for i in range(len(nums) - 1, -1, -1):
    result.append(nums[i])
return result