生成されたアナグラムのリストから回文を見つけようとしています。ここでのひねりは、私の最初の入力が回文のリストであることです。私は基本的に、回文のアナグラムである回文のハントを自動化しようとしています(宿題ではなく、英語のオタクです)。
入力用の元の回文は、回文が行で区切られ、スペースと数字以外の文字が削除された「pals.txt」から取得されます。英英辞書ファイル「dictionary.txt」を使用してアナグラムを生成しています。
私はまだ非常に初心者のプログラマーであるため、ご意見をいただければ幸いです。ありがとうございました!
def isPalindrome(s):
return s.lower() == s[::-1].lower()
def anagramchk(word,chkword):
for letter in word:
if letter in chkword:
chkword = chkword.replace(letter, '', 1)
else:
return 0
return 1
f0 = open('pals.txt', 'r')
f1 = open('dictionary.txt', 'r')
for line in f0:
wordin = line
for line in f1:
line = line.strip()
if len(line) >= 4:
if anagramchk(line, wordin):
if isPalindrome(line):
print line
f0.close()
f1.close()