Python練習———回文文字列の判断
1721 ワード
pythonを習い始めたばかりで、多くの基本的な方法がまだあまりできていないので、moocの授業の練習問題を借りて勉強を記録します.
タイトル内容:
1つの文字列が与えられ、それがエコー文字列(すなわちpeep,12321のような対称文字列)であるか否かが判断され、出力Trueである場合、そうでない場合はFalseが出力される.
判断過程では、アルファベットと数字文字のみを考慮し、アルファベットの大文字と小文字、その他の記号(スペース、句読点など)を無視すると仮定します.
入力形式:
行は1文字列です.
出力フォーマット:
TrueまたはFalseの行です.
サンプルを入力:
love e vol;
出力サンプル:
True
時間制限:500 msメモリ制限:32000 kb
考え方:1.入力テキストのフォーマットを洗浄し、スペースと句読点を削除してスペースを削除する2つの方法:
句読点を消すには、次の2つの方法があります.
もう1つのブロガーの方法を見ました.
2.回文判断を行う判断の2つの方法:
最終コード:
もう一人のブロガーを見る方法は簡潔だと思います.
(ソースアドレス:https://blog.csdn.net/suxiaorui/article/details/87174034)
タイトル内容:
1つの文字列が与えられ、それがエコー文字列(すなわちpeep,12321のような対称文字列)であるか否かが判断され、出力Trueである場合、そうでない場合はFalseが出力される.
判断過程では、アルファベットと数字文字のみを考慮し、アルファベットの大文字と小文字、その他の記号(スペース、句読点など)を無視すると仮定します.
入力形式:
行は1文字列です.
出力フォーマット:
TrueまたはFalseの行です.
サンプルを入力:
love e vol;
出力サンプル:
True
時間制限:500 msメモリ制限:32000 kb
考え方:1.入力テキストのフォーマットを洗浄し、スペースと句読点を削除してスペースを削除する2つの方法:
# replace
text = text.replace(' ', '')
# join
text = ''.join(text.split(' '))
句読点を消すには、次の2つの方法があります.
import string
for p in string.punctuation:
text = text.replace(p, '')
import string
text = ''.join(c for c in text if c not in string.punctuation)
もう1つのブロガーの方法を見ました.
2.回文判断を行う判断の2つの方法:
for i in range(len(s)):
if s[i] != s[len(s)-1-i]:
print(False)
break
else:
print(True)
def judgement(text):
if text == text[::-1]:
return True
else:
return False
最終コード:
import string
text = input().lower()
text = text.replace(' ','')
for i in string.punctuation:
text = text .replace(i, '')
if text == text[::-1]:
print(True)
else:
print(False)
もう一人のブロガーを見る方法は簡潔だと思います.
(ソースアドレス:https://blog.csdn.net/suxiaorui/article/details/87174034)
a=input()
# ,
b=''.join(map(lambda x:x.lower() if x.isdigit() or x.isalpha() else '',a))
#
print(b==b[::-1])