in our previous versionthe pips were created with this sequence of statements inside of __init__self pip self __makepip(cx-offsetcy-offsetself pip self __makepip(cx-offsetcyself pip self __makepip(cx-offsetcy+offsetself pip self __makepip(cxcyself pip self __makepip(cx+offsetcy-offsetself pip self __makepip(cx+offsetcyself pip self __makepip(cx+offsetcy+offsetrecall that __makepip is local method of the dieview class that creates circle centered at the position given by its parameters we want to replace these lines with code to create list of pips one approach would be to start with an empty list of pips and build up the final list one pip at time pips [pips append(self __makepip(cx-offsetcy-offset)pips append(self __makepip(cx-offsetcy)pips append(self __makepip(cx-offsetcy+offset)pips append(self __makepip(cxcy)pips append(self __makepip(cx+offsetcy-offset)pips append(self __makepip(cx+offsetcy)pips append(self __makepip(cx+offsetcy+offset)self pips pips an even more straightforward approach is to create the list directlyenclosing the calls to __makepip inside list construction bracketslike thisself pips self __makepip(cx-offsetcy-offset))self __makepip(cx-offsetcy))self __makepip(cx-offsetcy+offset))self __makepip(cxcy))self __makepip(cx+offsetcy-offset))self __makepip(cx+offsetcy))self __makepip(cx+offsetcy+offset)notice how have formatted this statement rather than making one giant linei put one list element on each line againpython is smart enough to know that the end of the statement has not been reached until it finds the matching square bracket listing complex objects one per line like this makes it much easier to see what is happening just make sure to include the commas at the end of intermediate lines to separate the items of the list the advantage of pip list is that it is much easier to perform actions on the entire set for examplewe can blank out the die by setting all of the pips to have the same color as the background