fig spiral image if __name__ ="__main__"main(in this program the drawspiral function is recursive it has base case that is written firstwhen the length of the side is zero it exits it calls itself on something smallerthe new length passed to it is the old length minus one the newcolor formula is perhaps the most complex part of the code there is some slicing going on there to convert the color string from hexadecimal string to an integer so can be addedmodulo to the th then it must be converted back to hexadecimal color string with the "#ffffffformat the program draws spiral like the one pictured in fig notice that this recursive function does not return anything most recursive functions do return value this one does not because the purpose of the function is to draw spiral it has side-effect instead of returning value recursion on lists and strings recursive functions can be written for many different purposes many problems can be solved by solving simpler problem and then applying that simpler solution recursively for instanceconsider trying to write function that returns the reverse of list if we wrote this non-recursivelywe might write it as follows list recursion def revlist(lst)accumulator [this copy belongs to 'acha