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,line 4)
如何摆脱错误?
答案 0 :(得分:1)
您的代码中存在多个缩进问题 - 基本上使用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])
另一个大问题是您的Solution类缺少行
class Solution(object):
在开始时,也在你把它放入之后你需要缩进它的所有方法。