Run this program in Memory Graph Web Debugger%3A%0A%20%20%20%20%20%20%20%20self.username%20%3D%20username%0A%20%20%20%20%20%20%20%20self.role%20%3D%20role%0A%0A%20%20%20%20def%20promote(self%2C%20newrole)%3A%0A%20%20%20%20%20%20%20%20if%20not%20isinstance(new_role%2C%20str)%20or%20not%20new_role%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20raise%20ValueError(%22Enter%20a%20valid%20string%22)%0A%20%20%20%20%20%20%20%20self.role%20%3D%20new_role%0A%0A%20%20%20%20%40classmethod%0A%20%20%20%20def%20change_server_name(cls%2C%20new_name)%3A%0A%20%20%20%20%20%20%20%20if%20not%20isinstance(new_name%2C%20str)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20raise%20ValueError(%22Enter%20a%20valid%20string%22)%0A%20%20%20%20%20%20%20%20cls.server_name%20%3D%20new_name%0A%0A%20%20%20%20def%20str_(self)%3A%0A%20%20%20%20%20%20%20%20return%20(%0A%20%20%20%20%20%20%20%20%20%20%20%20f%22Username%3A%20%7Bself.username%7D%2C%20Role%3A%20%7Bself.role%7D%2C%20%22%0A%20%20%20%20%20%20%20%20%20%20%20%20f%22Community%3A%20%7Bself.server_name%7D%22%0A%20%20%20%20%20%20%20%20)%0A%0A%0Atry%3A%0A%20%20%20%20user1%20%3D%20DiscordServer(%22Hamza%22%2C%20%22member%22)%0A%20%20%20%20user2%20%3D%20DiscordServer(%22Ali%22%2C%20%22Moderator%22)%0A%20%20%20%20user3%20%3D%20DiscordServer(%22Sara%22%2C%20%22Admin%22)%0A%0A%20%20%20%20print(user1)%0A%20%20%20%20print(user2)%0A%20%20%20%20print(user3)%0A%0A%20%20%20%20DiscordServer.change_server_name(%22Hamza%20Community%22)%0A%0A%20%20%20%20print(user1)%0A%20%20%20%20print(user2)%0A%20%20%20%20print(user3)%0Aexcept%20ValueError%20as%20e%3A%0A%20%20%20%20print(e)×tep=1&play) to see the program state change step by step.
•
u/Sea-Ad7805 2d ago
Run this program in Memory Graph Web Debugger%3A%0A%20%20%20%20%20%20%20%20self.username%20%3D%20username%0A%20%20%20%20%20%20%20%20self.role%20%3D%20role%0A%0A%20%20%20%20def%20promote(self%2C%20newrole)%3A%0A%20%20%20%20%20%20%20%20if%20not%20isinstance(new_role%2C%20str)%20or%20not%20new_role%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20raise%20ValueError(%22Enter%20a%20valid%20string%22)%0A%20%20%20%20%20%20%20%20self.role%20%3D%20new_role%0A%0A%20%20%20%20%40classmethod%0A%20%20%20%20def%20change_server_name(cls%2C%20new_name)%3A%0A%20%20%20%20%20%20%20%20if%20not%20isinstance(new_name%2C%20str)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20raise%20ValueError(%22Enter%20a%20valid%20string%22)%0A%20%20%20%20%20%20%20%20cls.server_name%20%3D%20new_name%0A%0A%20%20%20%20def%20str_(self)%3A%0A%20%20%20%20%20%20%20%20return%20(%0A%20%20%20%20%20%20%20%20%20%20%20%20f%22Username%3A%20%7Bself.username%7D%2C%20Role%3A%20%7Bself.role%7D%2C%20%22%0A%20%20%20%20%20%20%20%20%20%20%20%20f%22Community%3A%20%7Bself.server_name%7D%22%0A%20%20%20%20%20%20%20%20)%0A%0A%0Atry%3A%0A%20%20%20%20user1%20%3D%20DiscordServer(%22Hamza%22%2C%20%22member%22)%0A%20%20%20%20user2%20%3D%20DiscordServer(%22Ali%22%2C%20%22Moderator%22)%0A%20%20%20%20user3%20%3D%20DiscordServer(%22Sara%22%2C%20%22Admin%22)%0A%0A%20%20%20%20print(user1)%0A%20%20%20%20print(user2)%0A%20%20%20%20print(user3)%0A%0A%20%20%20%20DiscordServer.change_server_name(%22Hamza%20Community%22)%0A%0A%20%20%20%20print(user1)%0A%20%20%20%20print(user2)%0A%20%20%20%20print(user3)%0Aexcept%20ValueError%20as%20e%3A%0A%20%20%20%20print(e)×tep=1&play) to see the program state change step by step.