文字列中のアルファベット以外の文字をすべて無視してアルファベット文字列を新しい文字列に追加しようとするので、大文字と小文字を区別せずに回文かどうかを調べることができます。forループを使用して、文字列内のアルファベット以外の文字をすべて無視し、新しい文字列に追加する方法? Python 3
は、これまでのところ、私は私がis_palindromeは小文字の単語が回文であるかどうかを確認する前の関数を呼び出していますプロム
new_str = ''
for ch in s:
ch = ch.lower
if s.isalpha():
s = s + new_str
return s == is_palindrome
を持っています。ここで
s = 'A man, a plan, a canal: Panama!'
scrunched_s = ''.join(ch.lower() for ch in s if ch.isalpha())
reversed_s = ''.join(ch.lower() for ch in s[::-1] if ch.isalpha())
print s
print scrunched_s
print reversed_s
print scrunched_s == reversed_s
は別です::
scrunched_s = map(str.lower, filter(str.isalpha, s))
reversed_s = map(str.lower, filter(str.isalpha, reversed(s)))
print scrunched_s == reversed_s
'string.ascii_letters' - ' '' .join(s内の文字のための文字string.ascii_lettersのchar場合) .lower() 'これはascii_lettersである文字だけの小文字の文字列を返します。 – sytech
'is_palindrome()'はまったく呼び出さず、最後の行は 's'(文字列)が' is_palindrome'(関数)と等しいかどうかを確認します – nephtes
あなたの質問は何ですか? –