b) magic_attack(self, monster) will get user input while showing the user the magic_attack_menu attribute, then store it in variable named selection. If selection is 1, set a variable to a random int from 5-10, if its 2 then random int 5-10, if its 3 then random int 5-15, if its 4 random int 5-8 (from 5 to the specified max value in the menu attribute).
c) Then by looking at the magic_attack_menu, you will call the receive_magic_attack() method belonging to the monster which was passed as a parameter to magic_attack(), giving receive_magic_attack the random number and the corresponding magic type (fire/water/earth/wind) as parameters.
d) Finally, add a case to see if the user gave an invalid selection (since you already checked for 1,2,3,4, we can simplify this). If so, print an error message and ‘return’ from the method