创建矩阵

2024-09-27 07:22:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想我的程序,以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,它可以生成一个类似这样的矩阵:

^{pr2}$

如果有人能和我分享这件事,我会感激你的。一种方式,我希望我的程序能做什么,我不确定我能用我的版本。在

我有一个字典.txt我做了一些类似的东西: 字典=打开('字典.txt','r')

所以我想我应该开始匹配matris[0][0]+matris[0][1],看看是否有一个单词以'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}

我想以后我会给每个字母一个值,我会这样做,但我不知道这是否是一个好方法?在


Tags: 程序inputraw字母counter单词oneletter
1条回答
网友
1楼 · 发布于 2024-09-27 07:22:38

我想我不懂这个问题。 不过,这里有一些小片段可以让你开始。在

只需一次性读取25个字母并使用分区生成器,如here 使用split将其发送到下面的生成器。在

def chunks(l, n):
    """ Yield successive n-sized chunks from l.
    """
    for i in xrange(0, len(l), n):
        yield l[i:i+n]

import pprint
a=raw_input('some letters: ')
some letters: a b c d e f g h i j k l m n o p q r s t u v w x y

pprint.pprint(list(chunks(a.split(), 5)))
[['a', 'b', 'c', 'd', 'e'],
 ['f', 'g', 'h', 'i', 'j'],
 ['k', 'l', 'm', 'n', 'o'],
 ['p', 'q', 'r', 's', 't'],
 ['u', 'v', 'w', 'x', 'y']]

如果您想进行近似匹配,请查看difflib

^{pr2}$

在这之后,我想你需要澄清一下你的问题:-)

相关问题 更多 >

    热门问题