功能不在PYTHON中打印

时间:2017-11-10 07:18:44

标签: python

使用列表数据检查的Below类和函数 无论是否是Palidrome,不幸的是我到了下面 错误。

class Palid:
    def __init__(self,inp):
        self.inp = inp


    def Palidrome(self):
        mystr = self.inp
        mystr=mystr.casefold()
        revstr = reversed(mystr)
        if list(mystr)==list(revstr):
            print("it is Palidrome")
        else:
            print("No It Is Not")

inp = {'MoM','Dad','TIGER','IS','BACK','TAT'}  
print(Palidrome().inp)
我做错了什么,或者错了。请分享您的建议 谢谢,

2 个答案:

答案 0 :(得分:1)

您可以将函数调用为class.function()。您可以看到代码

class palin:

    def isPalindrome(inp):
        for word in inp:
            if word[::-1] == word:
                print('%s is a palindrome'%word)
            else:
                print('{} is not a palindrome'.format(word))

inp = ['MoM','Dad','TIGER','IS','BACK','TAT']
palin.isPalindrome(inp)

答案 1 :(得分:0)

在回答你的问题之前做了一些澄清

  1. python中的列表由方括号表示,字典由花表示 括号。 在您的代码中,您已经在花括号中编写了inp列表,这是错误的。 正确的表示是

    vararg

  2. 您无法直接调用Palindrome方法,因为您已将其嵌套在Palid类中。您必须实例化Palid对象,然后调用Palindrome类。

  3. 如果您想检查列表中的每个单词是否为回文都是不明确的,因为您没有遍历列表以检查每个单词是否为回文。

  4. 正确而简单的实现将是

    inp = ['MoM','Dad','TIGER','IS','BACK','TAT']

    我建议修改python的基础知识。