wordsearch

jezkator at gmail.com jezkator at gmail.com
Tue Nov 19 06:47:01 EST 2019


Hi, I have got a problem in my searchword. Everything runs properly. Output writes word, coordinates and direction, but i need, that output have same arrangement as second file
First file includes board, where program search:
xmuinjekci
evelkochov
cadvouhrac
feminizaci
pyzlanpbik
ldvojlinky
osvrhloubd
dqldrvandy
yevergreen
olympskout

and second includes words:
dvojlinky
feminizaci
velkochov
dvouhra
olympskou
plody
dyn
rab
svrhlou
np
jo
lordem
velko
injekci
skout
mva
vandy
dvou
evergreen
ech
zla
kb
un
hrr
aj
ona

Python Code: 

	
def find_words(file_inputs, words):
    with open(file_inputs) as file:
        for line in file:
            line = line.replace('\n', '')
            line = line.lower()
            words.append(line)
 
def get_search_board(file_inputs, search_board):
    with open(file_inputs) as file:
        for line in file:
            if len(line) > 6:
                line = line.lower()
                search_board += line
    length = search_board.index('\n') + 1
    return search_board, length
 
def main():
    words = []
    search_board = ''
    z = input().split()
    file_input = z[0]
    file_inputs = z[1]
    find_words(file_inputs, words)
    search_board, length = get_search_board(file_input, search_board)
    lines = {}
 
    lines["1"] = []
 
    letters = [(letter, divmod(index, length))
               for index, letter in enumerate(search_board)]
 
    lines['0'] = letters
 
    for i in range(length):
            for j in range(i, len(letters), length):
                lines["1"].append(letters[j])
 
    for direction, tuple in lines.items():
        string = ''.join([i[0] for i in tuple])
        for word in words:
            if word in string:
                coordinates = tuple[string.index(word)][1]
                print(word,coordinates[0], coordinates[1], direction)
 
main()

Output:
plody 4 0 1
dyn 6 9 1
rab 2 7 1
jo 0 5 1
lordem 4 3 1
mva 0 1 1
ech 0 6 1
kb 5 8 1
un 6 7 1
hrr 6 4 1
aj 4 4 1
ona 2 4 1
dvojlinky 5 1 0
feminizaci 3 0 0
velkochov 1 1 0
dvouhra 2 2 0
olympskou 9 0 0
svrhlou 6 1 0
np 4 5 0
velko 1 1 0
injekci 0 3 0
skout 9 5 0
vandy 7 5 0
dvou 2 2 0
evergreen 8 1 0
zla 4 2 0

but i need output like this

Output:
dvojlinky 5 1 0
feminizaci 3 0 0
velkochov 1 1 0
dvouhra 2 2 0
olympskou 9 0 0
plody 4 0 1
dyn 6 9 1
rab 2 7 1
svrhlou 6 9 0
np 4 5 0
jo 0 5 1
lordem 4 3 1
velko 1 1 0
injekci 0 3 0
skout 9 5 0
mva 0 1 1
vandy 7 5 0
dvou 2 2 0
evergreen 8 1 0
ech 0 6 1
zla 4 2 0
kb 5 8 1
un 6 7 1
hrr 6 4 1
aj 4 4 1
ona 2 4 1

Can u help me please?


More information about the Python-list mailing list