我正在写一个字谜程序。用户输入他们想要的单词的长度,例如11,然后我的程序将排序后的单词存储在dict键中,而值则是存储在like中的anagram在我的示例输出中。我只打印带有最大集合的值和最多的单词,例如在示例输出中它的3个单词。但如果有另一个值,有3个字,我希望它也打印出来。在
示例输出:仅打印:
['activations', 'cavitations', 'vacationist']
但我也想:
^{pr2}$代码
def main():
wordList = readMatrix()
sortDict = (lengthWord(wordList))
maxSet = max(sortDict.values(), key = len)
print(sorted(maxSet))
for wor in sortDict.values():
if len(maxSet) == len(sortDict.values()):
print(sortDict.values())
def readMatrix():
wordList = []
strFile = open("wordsEn.txt", "r")
lines = strFile.readlines()
for line in lines:
word = line.rstrip().lower()
wordList.append(word)
return tuple(wordList)
def lengthWord(wordList):
lenWord = 11
sortDict = {}
wordList = readMatrix()
for word in wordList:
if len(word) == lenWord:
sortWord = ''.join(sorted(word))
if sortWord not in sortDict:
sortDict[sortWord] = set()
sortDict[sortWord].add(word)
return sortDict
main()
如果我对你的理解是对的,我会做一些类似的事情:
或者更明确的方式
^{pr2}$这个怎么样?在
使用
^{pr2}$Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32
输出:max
返回最大值,而不是项。您可以通过max(d.values())
计算出最大值,然后对每个键进行线性搜索,看看它是否等于最大值。在相关问题 更多 >
编程相关推荐