辞書から回文英単語を探そう

「竹藪焼けた」、「磨かぬカガミ」とか後ろから読んでも同じになるものを「回文」と云います。

日本語のそれを辞書から探すのは辞書がそうなっていないので、英語辞書からそれを探すプログラムを作ってみます。

手順と条件は;

・単語だけの英辞書を探す(一行一単語、括弧やカンマなどの句読点が含まれないこと)
・それを全て変数に読み込む
・for文で頭から読込み、逆順でも同じスペルをリストに追加する
・print文で表示する

これを見ると、日本語で回文になる単語を探すのは一寸難しですね。

使用した英文単語はここにあります。
 http://wordlist.aspell.net/12dicts/
この中にある’2of4brif.txt’を使いました。単語数は4万語位あります。

この辞書の中で5文字以上の回文に該当する単語は次の15単語でした。

runすると次のように表示されました。

Number of palindromes found = 15 
civic deified kayak level madam minim radar redder refer rotor sagas sexes solos stats tenet

 

——————————————————————————————————

 

 
with open(‘2of4brif.txt’) as in_file:  # withで始めるとcloseが不要
            loaded_txt = in_file.read().strip().split(‘\n’)
            loaded_txt = [x.lower() for x in loaded_txt] # 見やすくするために小文字に変換する場合

word_list = loaded_txt  # dataは一行一語()=縦)になっていること

palindrome_list = []

for word in word_list: #逆順のスペルを作って比較する
    if len(word) > 4 and word == word[::-1]: # 4とすると5文字より長い単語が選ばれる
        palindrome_list.append(word)

print(“\nNumber of palindromes found = {}\n”.format(len(palindrome_list)))

# print in list format with no quotes or commas:
print(*palindrome_list, sep=’\n’)

 

 

Python別館
Python別館 目次

・Pythonで作成したアプリ関連の記事は「Python別館」に、・widgetやその使用方法・それ …

Python別館
脳トレの勧め 2/2

前回は、辞書に三つの要素を入れる術が分からなかったので、策を弄して取敢えずは動くように出来ました。で …

Python別館
脳トレの勧め 1/2

朝一番で頭の体操と称して英単語のクイズをやっております(ここです)。ここで間違えたものや、大事そうな …