我试图理解python中列表的基础知识。我已经为python中的回文字符串检查编写了一个示例代码。我试图理解为什么它不起作用。我正在比较字符串参数和列表参数
有人能解释一下为什么下面的代码给出了错误的输出吗
class Palindrome:
@staticmethod
def is_palindrome(word):
i = 0
l = len(word)
rev = []
print(l)
while l > 0:
rev.insert(i, word[l - 1])
i = i + 1
l = l - 1
if rev == word:
print(test)
print(word)
return True
else:
print(rev)
print(word)
return False
print(Palindrome.is_palindrome('tatat'))
上述代码的输出为:
$python main.py
5
['t', 'a', 't', 'a', 't']
tatat
False
还有一件事是这样的:为什么它要打印数组值,比如['t','a','t','a','t']而不是tatat
我也尝试过append()
方法,但没有用,结果是一样的
您正在比较} 转换为
string
(您的单词输入)和list
个字符。在与原始string
进行比较之前,您必须将字符^{string
在列表中插入字符,其最终结果仍然是列表,而不是字符串;这就是为什么回文测试返回
False
,因为您比较的是['t', 'a', 't', 'a', 't'] == 'tatat'
如果要正确执行此操作,需要将
rev
声明为空字符串并附加到它我不知道为什么这里的人会做出反应。如果有人来这里寻求帮助,我们应该帮助他(如果可以的话),或者至少不要劝阻他。我的问题怎么了?如果有任何错误,让我知道一个顺利的方式,而不是攻击完全。我们在这里学习,共同成长。 无论如何,下面是我在上面发布的问题的解决方案:
相关问题 更多 >
编程相关推荐