我很難編輯內置的del運算符並滿足我的任務的約束。在可變字符串類中重載del運算符python
在我的python類中,我的教授想讓我們從創建一個類來創建一個名爲Mutstr的可變字符串。在包含字符串「oogyboogy」的Mutstr實例中,在三個del命令中,他希望我們擺脫字符串「oogyboogy」中的「gyb」。
感嘆。無論如何,這樣一個建設不好的任務...。
我有兩個代碼片段,完成擺脫「gyb」。
不幸的是,我的兩個版本都依賴於單個del命令。我相信我的教授需要三次不同的調用來按索引刪除這些索引。
請告訴我通過串的全部進軍評估各項指標檢查,如果它的人物在「oogyboogy」
中間「GYB」的特定成員現在這兩個工作的最佳途徑當我運行這個:
>>> one = Mutstr('oogyboogy')
>>> del one[2]
>>> one.get()
'oooogy'
這是我認爲是正確的答案。但是,我認爲它我實現它的方式不符合他的問題的制約:
class Mutstr():
def __init__(self,st = ""):
self.str = st
def get(self):
return self.str
def __delitem__(self, index):
self.str = self.str[:index] + self.str[index+3:]
我有另一個版本,在這裏所做的一樣:
def __delitem__(self, index):
if 'g' in self.str:
self.str = self.str[:index] + self.str[index+1:]
if 'y' in self.str:
self.str = self.str[:index] + self.str[index+1:]
if 'b' in self.str:
self.str = self.str[:index] + self.str[index+1:]
你確定你的預期輸出是'oooogy'而不是'oooo'嗎?要求是刪除'g''y''b'字母還是刪除'gyb'字符串? – 2015-03-25 09:09:13
我很樂意聽取您如何完成您的建議。由於這個問題的措辭很差,我想盡可能多地解決這個問題。 – 2015-03-25 09:11:44