我很难编辑内置的del运算符并满足我的任务限制。在
在我的python类中,我的教授希望我们从一个类开始,这个类创建的字符串是可变的,名为Mutstr。在包含字符串“oogyboogy”的Mutstr实例中,在三个del命令中,他希望我们去掉字符串“oogyboogy”中的“gyb”。在
叹息。如此糟糕的作业。。。不管怎样。在
我下面有两个代码片段,它们完成了消除“gyb”的任务。在
不幸的是,我的两个版本都依赖于一个del命令。我相信我的教授想要三个单独的调用来逐个删除这些索引。在
在整个字符串中遍历对每个索引求值以检查它是否是“oogyboogy”中间字符“gyb”的特定成员的最佳方法是什么
现在,当我运行这个程序时,这两个功能都起作用:
>>> one = Mutstr('oogyboogy')
>>> del one[2]
>>> one.get()
'oooogy'
我认为这是正确的答案。但是,我认为我完成任务的方式并不符合他的问题限制:
^{pr2}$我有另一个版本也是这样:
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:]
从我阅读作业的方式来看,你的教授可能在寻找类似以下内容:
你的教授几乎肯定想要这些语义学:
因此,您应该只删除
__delitem__
中的一个字符。不要硬编码__delitem__
函数中的字符值,这只是不好的品味。在相关问题 更多 >
编程相关推荐