turtle.undo() function in Python
turtle.undo() cancels the last action the turtle did (like moving, turning, or changing color). You can call it many times to step back through previous actions, like using an "undo" button. The number of steps you can undo depends on the turtleâs undo buffer (which stores past actions).
Syntax :
turtle.undo()
- Parameters: This function takes no parameters.
- Returns: This undoes the most recent turtle action.
Examples
Example 1: Undoing a single action
import turtle
turtle.speed(1)
turtle.forward(100) # move forward
turtle.undo() # undo last action
turtle.done()
Output:

Explanation:
- turtle.forward(100) moves the turtle forward.
- turtle.undo() reverts that motion.
Example 2: Undoing multiple actions
import turtle
turtle.speed(1)
turtle.up()
turtle.setpos(-50, 50)
turtle.down()
for i in range(4): # draw a square
turtle.forward(100)
turtle.right(90)
for i in range(8): # undo all steps
turtle.undo()
turtle.done()
Output:

Explanation:
- first loop draws a square (4 forward moves + 4 right turns = 8 actions).
- second loop calls undo() 8 times, erasing each of those actions in reverse order.
Example 3: Undoing inside a loop
import turtle
turtle.speed(1)
for i in range(4):
turtle.forward(100)
turtle.undo()
turtle.left(90)
turtle.done()
Output:

Explanation:
- turtle.forward(100) moves turtle forward.
- turtle.undo() cancels that step.
- turtle.left(90) rotates the turtle.
- After 4 iterations, the turtle completes a full 360° turn without leaving any trace.