【发布时间】:2021-01-06 21:37:32
【问题描述】:
我编写了一段代码来确定一个典型的回文字符串。我通过定义返回字符串的 reverse() 方法来做到这一点。我也很渴望有同样的方法,不过是虚空形式,因为以后有一些需要。
当我将后者添加到代码中时,有效的输出将变得无效。定义两个同名但返回类型不同的方法是否合法?
如果没有,我该如何用void类型的方法编写这段代码?
class detector(object):
def __init__(self,string):
self.string = string
forbidden = (' ','!','?','.','-','_','&','%',"#",",")
def eliminator(self):
for item in self.forbidden:
if item in self.string:
self.string = self.string.replace(item,"")
def reverse(self):
return self.string[::-1]
#def reverse(self):
# self.string = self.string[::-1] I am prone to add this method
def check(self):
reversed = self.reverse()
if self.string == reversed:
print("Yes")
else:
print("No")
det = detector("rise to vote, sir!")
det.eliminator()
det.check()
当我添加注释掉的行时,有效的“是”变为“否”!
【问题讨论】:
标签: python