gpt4 book ai didi

python - 乱七八糟的字谜最长的字 python

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:04:53 25 4
gpt4 key购买 nike

此算法将输入一个数字,然后从 .txt 文件中返回字典中具有该长度的字谜数量。如果我在根据我的列表应该获得 5046 时输入 5,我将获得 6783 的输出。我不知道还要更改什么。

例如:输入 5 应返回 5046

我也一直在尝试通过输入一个正整数作为单词长度来搜索列表,以收集具有最大字谜数的单词,我不知道从哪里开始。

例如:字长输入 4 应返回最大数量的变位词,即 6,并输出变位词列表,例如

['opts', 'post', 'pots', 'spot', 'stop', 'tops']

def maxword():
input_word = int(input("Enter word length (hit enter key to quit):"))

word_file = open("filename", "r")

word_list = {}
alist = []
for text in word_file:
simple_text = ''.join(sorted(text.strip()))
word_list.update({text.strip(): simple_text})
count = 0
for num in word_list.values():
if len(num) == input_word:
count += 1
alist.append(num)
return str(input_word) + str(len(alist))

最佳答案

这可以通过一次输入文本文件来实现。您对单词进行排序并将其存储在 map 中的想法是正确的方法。

构建一个以排序后的单词作为键的字典,因为它对于所有的字谜都是相同的,并且具有相同排序的单词作为键作为值的单词列表。

为了避免再次遍历字典,我们将跟踪具有最大长度的键作为它的值。

如果构建此 word_list 字典仅用于特定长度的一次性使用,那么您可以只考虑字典中具有 input_word 长度的单词。

word_file = ["abcd", "cdab", "cdab", "cdab", "efgh", "ghfe", "fehg"]
word_list = {}
alist = []
input_word = 4
max_len = -1
max_word = ""
for text in word_file:
if len(text) == input_word:
simple_text = ''.join(sorted(text.strip()))
if simple_text not in word_list:
word_list.update({simple_text: [text.strip()]})
else:
word_list[simple_text].append(text.strip())
if(len(word_list[simple_text]) > max_len):
max_len = len(word_list[simple_text])
max_word = simple_text
print(max_word)
print(word_list[max_word])

关于python - 乱七八糟的字谜最长的字 python ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46991793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com