Nov-19-2019, 11:23 AM
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
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
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 thisOutput: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? 