extend the previous exercise by implementing an addlettergrade method this is similar to addgrade except that it accepts letter grade as string (instead of gradepointuse the updated class to improve the gpa calculator by allowing the entry of letter grades write modified button class that creates circular buttons call your class cbutton and implement the exact same methods that are in the existing button class your constructor should take the center of the button and its radius as normal parameters place your class in module called cbutton py test your class by modifying roller py to use your buttons modify the dieview class from the by adding method that allows the color of the pips to be specified setcolor(selfcolorchanges the color of the pips to color hintsyou can change the color by changing the value of the instance variable foregroundbut you also need to redraw the die after doing this modify setvalue so that it remembers the value of the die in an instance variable then setcolor can call setvalue and pass the stored value to redraw the die you can test your new class with the roller py program have the dice change to random color after each roll (you can generate random color with the color_rgb function write class to represent the geometric solid sphere your class should implement the following methods__init__(selfradiuscreates sphere having the given radius getradius(selfreturns the radius of this sphere surfacearea(selfreturns the surface area of the sphere volume(selfreturns the volume of the sphere use your new class to solve programming exercise from same as the previous problembut for cube the constructor should accept the length of side as parameter implement class to represent playing card your class should have the following methods__init__(selfranksuitrank is an int in the range - indicating the ranks acekingand suit is single character " "" "" "or "sindicating the suit (diamondsclubsheartsor spadescreate the corresponding card getrank(selfreturns the rank of the card getsuit(selfreturns the suit of the card bjvalue(selfreturns the blackjack value of card ace counts as face cards count as __str__(selfreturns string that names the card for example"ace of spades