【发布时间】:2021-12-06 00:08:22
【问题描述】:
我正在为我正在进行的这个项目而苦苦挣扎。
编辑:我希望程序从字典中找到 2 个单词,它们是输入单词的字谜。我想处理这个程序的方法是使用 counter(input()) 然后遍历字典内容两次(找到第一个单词 anagram 然后下一个)。该循环将从字典中获取每个单词 counter(那个单词),看看它是否是
简单地说,如果我输入一个单词(或短语),我希望程序运行一个字典文本文件(我已经保存)并从字典中找到两个单词,这些单词变成我的字谜输入。例如,如果我输入“宿舍”,程序输出应该是“肮脏的房间”,如果输入“绅士”,则输出“优雅的男人”。这是我到目前为止所做的:
from pathlib import Path
from collections import Counter
my_dictionary = open(Path.home() / 'dictionary.txt')
my_words = my_dictionary.read().strip().split('\n')
my_dictionary.close()
letter_number = 0
my_word = []
print('Please type in your phrase:')
word = input()
word = word.replace(" ","")
word_map = Counter(word.lower())
for a_word in my_words:
test = ''
candidate = ''
test_word = Counter(a_word.lower())
for letter in test_word:
if test_word[letter] <= word_map[letter]:
test += letter
if Counter(test) == test_word:
candidate += a_word.lower()
for a_word in my_words:
test = ''
test_word = Counter(a_word.lower())
for letter in test_word:
if test_word[letter] <= word_map[letter]:
test += letter
if Counter(test) == test_word:
candidate += a_word.lower()
if Counter(candidate) == word_map:
my_word.append(candidate)
print(my_word)
由于某种原因,我没有从输出中得到任何信息。
- 输入后我无法得到任何结果。
- 我也尝试过使用 del。从字典中删除第一个单词的单词计数器的命令,然后继续从字典中查找第二个单词,但这也不起作用。
总而言之,代码中一定有一些错误的地方导致程序没有给出任何输出。
请帮我弄清楚我的错误和错误。
提前致谢。
【问题讨论】:
-
您应该提及您遇到的具体问题
-
编辑您的问题以粘贴错误回溯
-
好的 会的。抱歉,我现在到此为止,所以仍在尝试找出选项:(
-
首先尝试用通俗易懂的英语单词解释您对问题的预期算法方法。
-
@KarlKnechtel 做到了。如果我需要更多说明,请告诉我。给您带来的不便深表歉意:(
标签: python python-3.x python-requests dictionary-comprehension anagram