python从左到右检查填字游戏

时间:2013-11-06 23:55:17

标签: python-2.7

如何将列表元素连接在一起并检查元素是否构成某些特定单词之一?并删除每个没有任何单词的元素,并用空格替换它们。我是初学者,所以对我很轻松。

欣赏帮助。

我的代码:

def looking_word_left_to_right(the_list):
    for any_words in the_valid_words:
        for every in the_list:
            for letters_s in every:
                index_list=0

有效词:aardvark 信天翁 鳄鱼 犰狳 梭鱼 骆驼 驯鹿 猫 黄牛 麂皮 鸡 鳕鱼 鹿 恐龙 狗 角鲨 dotterel 蜻蜓 鳗鱼 鼬 雀 鱼 火烈鸟 飞 金翅雀 龙 獭 牛 鹿

列表= ['e','l','l','e','z','a','g','c','h','i','c' ,'k','e','n','b','n','d','o'] ['d','e','t','b','a','l','l','i','g','a','t','o',' r','a','a','a','o','l'] ['m','e','z','n','a','c','a','t','t','l','e','e',' b','l','r','c','t','a'] ['c','f','e','n','a','r','c','e','s','s','s','a',' d','l','r','i','t','f'] ['h','f','t','r','a','r','r','s','s','o','s','a',' o','i','a','r','e','f'] ['a','a','r','e','p','p','o','h','s','s','a','r',' g','h','c','e','r','u'] ['m','r','h','e','i','r','m','m','w','i','l','d',' f','c','u','m','e','b'] ['o','我','m','l','t','a','a','i','r','f','o','v','我','n','d','a','l','b'] ['我','g','l','a','l','o','b','e','h','o','e','a',' s','i','a','x','u','e'] ['s','a','b','l','d','i','n','b','b','c','c','r',' h','h','r','t','y','l'] ['r','l','a','h','s','i','f','d','l','o','g','k',' r','c','t','l','a','i'] ['a','r','e','o','g','o','l','d','f','i','n','c',' h','e','f','n','n','d'] ['d','m','n','e','e','p','o','l','e','t','n','a',' r','n','t','a','d','o'] ['d','我','n','o','s','a','u','r','o','x','o','f',' o','e','c','l','i','c'] ['t','n','a','h','p','e','l','e','p','a','l','g',' a','i','e','r','h','o'] ['h','c','a','o','r','k','c','o','c','y','a','t',' r','m','o','a','c','r'] ['f','l','a','m','i','n','g','o','e','r','e','f',' a','f','l','o','e','c'] ['h','a','t','e','e','h','c','h','d','r','a','c',' a','r','i','b','o','u']

my_str="ellezagchickenbndodetballigatoraaaolmeznacattleeblrctacfenarcesssadlritfhftrarrssosaoiarefaareppohssarghcerumrheirmmwildfcumeboimltaairfovindalbiglalobehoeasiaxuesabldinbbccrhhrtylrlahsifdlogkrctlaiareogoldfinchefnnddmneepoletnarntadodinosauroxofoeclictnahpelepalgaierhohcaorkcocyatrmoacrflamingoerefafloechateehchdracaribou"
def create_2d_list(N):
    output_list=[]
    counter=0
    for row in range(0,N):
        temp=[]
        for col in range(0,N):
            temp.append(my_str[counter])#you can add a charcter instead of counter
            counter=counter+1
        output_list.append(temp[:])
    return output_list

N=18

x=create_2d_list(N)

for row in range(0,N):
total=0
s="|"
for col in range(0,N):
    my_str="{0:2} ".format(x[row][col])
    s=s+my_str+"|"

    print "-"*(N*4+1)
   print s,
   print " "

the_valid_words=open("E:/asd/words.txt","r").readlines()

def list_duplicates_of(seq,item):
start_at = -1
locs = []
while True:
    try:
        loc = seq.index(item,start_at+1)
    except ValueError:
        break
    else:
        locs.append(loc)
        start_at = loc
return locs

def looking_word_left_to_right(the_list):
for any_words in the_valid_words:
    for every in the_list:

        for letters_s in every:
            index_list=0

1 个答案:

答案 0 :(得分:0)

将行转换为字符串可以更轻松地找到目标字词。 the_list需要是一个列表列表才能使用。

row_letters = [''.join(r) for r in the_lists]
words = 'aardvark albatross alligator armadillo barracuda camel caribou cat '
        'cattle chamois chicken cod deer dinosaur dog dogfish dotterel '
        'dragonfly eel ferret finch fish flamingo fly goldfinch dragon otter '
        'ox deer'.split()

for i, row in enumerate(row_letters[:]):
    for word in words:
        if word in row:
            wi = row.find(word)
            row_letters[i] = ' '*wi + word + ' '*(len(row) - wi - len(word))
    if ' ' not in row_letters[i]:  #works if word size < row size
        row_letters[i] = ' '*len(row)


>>> row_letters
['       chicken    ', '    alligator     ', '     cattle       ',
 '                  ', '                  ', '                  ', 
 '                  ', '                  ', '                  ', 
 '                  ', '                  ', '    goldfinch     ',
 '                  ', '        ox        ', '                  ', 
 '                  ', 'flamingo          ', '           caribou']

>>> new_the_list = [list(r) for r in row_letters]  # puts back to list format