text2 = Text()
saver2 = SavedText()
text2.write("Tomorrow at 7:15 PM.")
saver2.savetext(text2)
text2.setfont("ComicSans")
text2.write(" Sorry. 7:15 AM.")
saver2.savetext(text2)
text2.write(" Near the stadium.")
text2.restore(saver2.getversion(1))
text_2.show()
Your result:
"Tomorrow at 7:15 PM."
Right result:
"[ComicSans]Tomorrow at 7:15 PM. Sorry. 7:15 AM.[ComicSans]"
my solutiopn
class Text:
all_text = ''
font = ''
def write(self, add_text):
self.all_text += add_text
def set_font(self, new_font):
self.font = f'[{new_font}]'
def show(self):
return f'{self.font}{self.all_text}{self.font}'
def restore(self, back_version):
self.all_text = back_version[0]
self.font = back_version[1]
class SavedText:
version = []
def save_text(self, textObj: Text) -> Text:
self.version.append([textObj.all_text, textObj.font])
def get_version(self, number):
return self.version[number]
if name == 'main':
# These "asserts" using only for self-checking and not necessary for auto-testing
text_2 = Text()
saver_2 = SavedText()
text_2.write("Tomorrow at 7:15 PM.")
saver_2.save_text(text_2)
text_2.set_font("ComicSans")
text_2.write(" Sorry. 7:15 AM.")
saver_2.save_text(text_2)
text_2.write(" Near the stadium.")
text_2.restore(saver_2.get_version(1))
print(text_2.show())
Created at: 2022/03/08 18:24; Updated at: 2022/03/08 20:32