我只是在Python中学习编程以获得乐趣.我正在写一个回文程序,我想到了如何进一步改进它.
我想到的第一件事是防止程序必须双向浏览整个单词,因为我们只是检查回文.然后我意识到只要第一个和最后一个字符不匹配就可以打破循环.
然后我在课堂上实现它们,这样我就可以调用一个单词并返回true或false.
这就是该计划截至目前的情况:
class my_str(str):
def is_palindrome(self):
a_string = self.lower()
length = len(self)
for i in range(length/2):
if a_string[i] != a_string[-(i+1)]:
return False
return True
this = my_str(raw_input("Enter a string: "))
print this.is_palindrome()
Run Code Online (Sandbox Code Playgroud)
我是否可以进行其他任何改进以提高效率?
我认为在Python中即兴编写回文检查功能的最佳方法如下:
def is_palindrome(s):
return s == s[::-1]
Run Code Online (Sandbox Code Playgroud)
(lower()根据需要添加呼叫.)