making sure we have enough icons allcolors (redgreenblueyelloworangepurplecyan allshapes (donutsquarediamondlinesoval assert len(allcolorslen(allshapes >boardwidth boardheight"board is too big for the number of shapes/colors defined in order for our game program to be able to create icons of every possible color and shape combinationwe need to make tuple that holds all of these values there is also another assertion on line to make sure that there are enough color/shape combinations for the size of the board we have if there isn'tthen the program will crash on line and we will know that we either have to add more colors and shapesor make the board width and height smaller with colors and shapeswe can make (that is different icons and because we'll have pair of each iconthat means we can have board with up to (that is or spaces tuples vs listsimmutable vs mutable you might have noticed that the allcolors and allshapes variables are tuples instead of lists when do we want to use tuples and when do we want to use listsand what' the difference between them anywaytuples and lists are the same in every way except twotuples use parentheses instead of square bracketsand the items in tuples cannot be modified (but the items in lists can be modifiedwe often call lists mutable (meaning they can be changedand tuples immutable (meaning they cannot be changedfor an example of trying to change values in lists and tupleslook at the following codelistval [ tupleval ( listval[ 'hello!listval [ 'hello!' tupleval[ 'hello!traceback (most recent call last)file ""line in typeerror'tupleobject does not support item assignment tupleval ( tupleval[ notice that when we try to change the item at index in the tuplepython gives us an error message saying that tuple objects do not support --item assignment|