class TextHandler():
shortest_words = []
longest_words = []
def __init__(self, text = ""):
self.text = text.split()
def add_words(self, text):
self.text.append(text)
self.text = text.split()
def get_shortest_words(self):
min_len = 99999
for i in range (len(self.text)):
if min_len > len(self.text[i]):
min_len = len(self.text[i])
for i in range (len(self.text)):
if len(self.text[i]) == min_len:
self.shortest_words.append(self.text[i])
return self.shortest_words
我给出input这些值:
texthandler = TextHandler()
texthandler.add_words('The world will hold my trial for your sins')
texthandler.add_words('Never meant to see the sky never meant to live')
print(texthandler.get_shortest_words())
从第一次add_words调用开始,它my会将其添加到shortest_words,但在第二次调用时,它会删除这个并仅从第二个输入my添加,为什么它从第一个输入中删除以及如何保存它?totomy
PS我刚刚开始学习OOP,也许这是一个愚蠢的错误,但我并没有真正看到问题所在,不要太严厉地判断
解决了问题extend方法将元素添加到现有self.text列表的末尾而不覆盖它。