使用列表数据检查的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)
我做错了什么,或者错了。请分享您的建议
谢谢,
答案 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)
在回答你的问题之前做了一些澄清
python中的列表由方括号表示,字典由花表示 括号。 在您的代码中,您已经在花括号中编写了inp列表,这是错误的。 正确的表示是
vararg
您无法直接调用Palindrome方法,因为您已将其嵌套在Palid类中。您必须实例化Palid对象,然后调用Palindrome类。
如果您想检查列表中的每个单词是否为回文都是不明确的,因为您没有遍历列表以检查每个单词是否为回文。
正确而简单的实现将是
inp = ['MoM','Dad','TIGER','IS','BACK','TAT']
我建议修改python的基础知识。