2017-10-06 12 views
0

現在、回文を含む文字列が渡されるかどうかによってTrueまたはFalseを返すJESプログラムを作成しています。プログラムは動作しますが、大文字または句読記号が存在すると失敗します。どのように私はそれを働かせることができますか?Jython/JESの大文字

print(ThisPalindrome("racecar")) 

>> True 

print(ThisPalindrome("Racecar")) 

>> False 

答えて

0

大文字の問題を解決するには、チェックでstr.lower()メソッドを使用してみてください。

def ThisPalindrome(word): 
    lowercase = word.lower() 
    reversedOrder = reversed(lowercase) 
    if lowercase == ''.join(reversedOrder): 
     return True 
    else: 
     return False 

理論的には、この関数は関数を破壊しない限り、基本的な句読点でも機能するはずです。 'などの入力は、破損する可能性があります。

0

toLowerCase()メソッドは、呼び出し文字列の値を小文字に変換して返します。

replace()メソッドは、パターンの一致の一部またはすべてを置き換えて置換する新しい文字列を返します。先ほど作成したRegExpの1つを使用します。

split()メソッドは、文字列をサブ文字列に分割することにより、Stringオブジェクトを文字列の配列に分割します。

reverse()メソッドは、配列を元の位置に戻します。最初の配列要素が最後になり、最後の配列要素が最初になります。