我想让我的程序以25个字母作为输入,并将它们放在某种列表中,以便我可以制定可以与另一个字符连接的字母的规则,并从中获取三个不重叠的字词。创建矩阵
我所做的是这样的:
def matris():
matris = [[],[],[],[],[]]
counter = 0
counter2 = 0
counter3 = 0
counter4 = 0
counter5 = 0
while counter !=5:
matris[0].append(raw_input('One letter: '))
counter+=1
while counter2 !=5:
matris[1].append(raw_input('One letter: '))
counter2+=1
while counter3 !=5:
matris[2].append(raw_input('One letter: '))
counter3+=1
while counter4 !=5:
matris[2].append(raw_input('One letter: '))
counter4+=1
while counter5 !=5:
matris[4].append(raw_input('One letter: '))
counter5+=1
return matris
因此,例如,当我运行这一点,问我“一个信” * 25可以生成一个矩阵看起来像这样:
matris = [['a', 'g', 'i', 't', 'u']
['s', 'r', 'g', 's', 'm']
['f', 'e', 'd', 'c', 't']
['r', 's', 'i', 'f', 'x']
['t', 'i', 't', 't', 'i']]
如果任何人有更好的方式来做到这一点,我会感谢你,如果你分享它。而且这种方式可以与我希望我的程序执行的操作一致,但我不知道我能够使用我的版本。
我有我做的东西像dictionary.txt: 字典=开放(“dictionary.txt”,“R”)
,所以我想我会尝试启动匹配matris[0][0]+matris[0][1]
,看看是否有一个词以ie 'a'+'g'
开头,然后取下一个字母,直到找到允许说出三个最好(最有价值)的单词。
我猜我需要一个班。因此,这是我已经走了多远:
Class hypotes:
def __init__ (self, usedPosiiton, word):
self.u = usedPosition
self.w = word
positions = []
bestWords = [] # There should be maximum three words in this list,
# the words with highest score
我认为我必须保存在数组中的位置,这样我以后可以确保是最好的话不要使用相同的字母?
猜测我要在这堂课上需要一些帮助。
letterValuePoints = {'A':50, 'B':110, 'C':190, 'D':70, 'E':50, 'F':90,
'G':70, 'H':70, 'I':50, 'J':170, 'K':70, 'L':50,
'M':70, 'N':50, 'O':70, 'P':110, 'R':50, 'S':50,
'T':50, 'U':110, 'V':90, 'X':190, 'Y':170, 'Z':210,
'Å':110, 'Ä':90, 'Ö':110}
我想后来当我想给每个字母的值,我会做这样的,但我不知道这是否会是一个很好的办法吗?
喜后,谢谢快速回复! =) 这是非常漂亮: 进口pprint DEF块(L,N): “” “ ” “。收率连续N大小从升 块” 为i的x范围(0,LEN( l),n): yield l [i:i + n] a = raw_input('some letters:') pprint.pprint(list(chunks(a。分裂(),5))) 但是,必须有一种方法来分割并返回与它的那些带一个列表?亲爱的,谢谢你的光临! –
看起来非常糟糕,也许我应该修改我的问题insted的.. =/ –
看到你是瑞典! =)在这里不能发送? 似乎有点难以起床英文我需要什么帮助,也许?试图让程序有条不紊扫描列表,现在包括的每五个字母五个列表,并设法找到与某个ordlista.txt匹配的单词。所以我想,也许你应该开始在原地看着列表[0] [0]和list [0] [1],看看字典中的任何单词的字母,并且如果它继续列出[0] [2 ]和继续下去,直到不能匹配任何更多的,然后做相同,但开始provess字母列表[0] [1] .. –