楽しみのために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()
より効率的にするために他に改善できる点はありますか?