簡體   English   中英

如何在 Python 的 a.txt 文件中查找包含特定字母的單詞?

[英]how to find words containing specific letters in a .txt file with Python?

我目前正在嘗試創建一個程序來找到 nytimes 游戲“拼字蜜蜂”的所有可能答案我的目標是編寫一個程序,它接收 7 個輸入(游戲中每個字母一個),並從這些輸入中找到單詞在包含這些字母的 words.txt 文件(帶有英文詞典)中。 規則如下:單詞必須是4個字母或更多,並且“middle_letter”必須出現在每個單詞中。

這是我目前擁有的代碼:

middle_letter = input("Entrez la lettre du milieu : ")
l1 = input("Entrez la lettre n°1 : ")
l2 = input("Entrez la lettre n°2 : ")
l3 = input("Entrez la lettre n°3 : ")
l4 = input("Entrez la lettre n°4 : ")
l5 = input("Entrez la lettre n°5 : ")
l6 = input("Entrez la lettre n°6 : ")

with open('words.txt') as f:
    print([w.strip() for w in f if {middle_letter, l1, l2, l3, l4, l5, l6} <= set(w)])

唯一的問題是我得到的 output 是 .txt 文件中包含這些字母和其他字母的每個單詞,而我只想要包含特定字母的單詞,沒有別的。

在此先感謝您的寶貴幫助:)

最終為我工作的代碼是:

middle_letter = input("Enter the middle letter: ")
l1 = input("Enter letter #1: ")
l2 = input("Enter letter #2: ")
l3 = input("Enter letter #3: ")
l4 = input("Enter letter #4: ")
l5 = input("Enter letter #5: ")
l6 = input("Enter letter #6: ")

with open('words.txt') as f: words = [w.strip() for w in f 
if set(w.strip()).issubset({middle_letter, l1, l2, l3, l4, 
l5, l6})]

possible_words = [word for word in words if middle_letter 
in word and l1 + l2 + l3 + l4 + l5 + l6 in ''.join([c for c 
in word if c != middle_letter])]

print(possible_words)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM