函数未在PYTHON中打印值

2024-09-26 23:23:38 发布

您现在位置:Python中文网/ 问答频道 /正文

下面用列表数据检查的类和函数 不管这个词是不是回文,不幸的是,我正在下面 错误。在

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)

我是做错了什么,还是错失了什么。请分享你的建议 谢谢


Tags: 数据函数self列表initdef错误list
2条回答

在回答你的问题之前先澄清一下

  1. python中的列表用方括号表示,字典用flower表示 支撑。 在你的代码中,你用花括号写了inp列表,这是错误的。 正确的表述是

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

  2. 因为不能直接在回文类中嵌套该方法。您必须实例化paid对象,然后调用Palindrome类。

  3. 如果你想检查列表中的每一个单词是否是回文,这是不明确的,因为你没有循环检查列表中的每个单词是否都是回文。

正确而简单的实现方法是

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

>>> inp = ['MoM','Dad','TIGER','IS','BACK','TAT']
>>> isPalindrome(inp)
MoM is a palindrome
Dad is not a palindrome
TIGER is not a palindrome
IS is not a palindrome
BACK is not a palindrome
TAT is a palindrome

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

可以将函数调用为类功能()。你可以看到代码

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)

相关问题 更多 >

    热门问题