【问题标题】:how to add this both original_text and reversed_text attributes in this class? how should I fix it to get the ideal outputs?如何在此类中添加 original_text 和 reversed_text 属性?我应该如何解决它以获得理想的输出?
【发布时间】:2021-11-01 21:20:36
【问题描述】:

以下是理想的输出:

'''

>>> palindrome = Palindrome('eye')
>>> palindrome.original_text
'eye'
>>> palindrome.reversed_text
'eye'
>>> palindrome.is_palindrome()
True
>>> palindrome = Palindrome('dye')
>>> palindrome.original_text
'dye'
>>> palindrome.reversed_text
'eyd'
>>> palindrome.is_palindrome()
False

'''

我的代码:

class Palindrome :

def __init__(self,number) :
    self.num = number
    
def is_palindrome(self) :

    temp = self.num
    result = 0

    while(temp != 0) :
        
        rem = temp % 10

        result =  result * 10 + rem

        temp //= 10

    if self.num == result :
        return True
    else :
        return False

如何在这个类中添加 original_text 和 reversed_text 属性? 我应该如何修复上面的代码以获得理想的结果?

【问题讨论】:

  • self.original_text = str(number) self.reversed_text = reversed(self.original_text)
  • is_palindrome = str(num) == str(num)[::-1]

标签: python python-3.x palindrome


【解决方案1】:

您可以使用 python 的内置功能使您的代码更易读、更简单。像这样的东西应该可以工作:

class Palindrome :

    def __init__(self, data):
        data = str(data)
        self.original_text = data
        self.reversed_text = data[::-1]

    def is_palindrome(self):
        return self.original_text == self.reversed_text
   
        
palindrome = Palindrome('eye')
print(palindrome.original_text)
print(palindrome.reversed_text)
print(palindrome.is_palindrome())

palindrome = Palindrome('dye')
print(palindrome.original_text)
print(palindrome.reversed_text)
print(palindrome.is_palindrome())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-31
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    相关资源
    最近更新 更多