import sys
def __init__(self):
self.__stack = []
self.__queue = []
def pushCharacter(self, ch):
self.__stack.append(ch)
def enqueueCharacter(self, ch):
self.__queue.insert(0, ch)
def popCharacter(self):
return self.__stack.pop()
def dequeueCharacter(self):
return self.__queue.pop()
s=input()
obj=Solution()
l=len(s)
for i in range(l):
obj.pushCharacter(s[i])
obj.enqueueCharacter(s[i])
isPalindrome=True
for i in range(l // 2):
if obj.popCharacter()!=obj.dequeueCharacter():
isPalindrome=False
break
if isPalindrome:
print("The word, "+s+", is a palindrome.")
else:
print("The word, "+s+", is not a palindrome.")
这是一个黑客等级问题
样本输入:赛车
输出:赛车这个词是一个回文。
但是我收到编译错误,因为
抱歉:TabError:缩进中制表符和空格的使用不一致(solution.py,第 4 行(
如何摆脱错误?
代码中的缩进存在多个问题 - 基本上是任何if语句,for循环等。 例如,作为其代码块一部分的行需要缩进
for i in range(l):
obj.pushCharacter(s[i])
obj.enqueueCharacter(s[i])
实际上应该是
for i in range(l):
obj.pushCharacter(s[i])
obj.enqueueCharacter(s[i])
另一个大问题是您的解决方案类缺少该行
class Solution(object):
在开始时,以及放入之后,您需要缩进它的所有方法。