Ahoj,Mám problém, dělám na osmisměrce, vstupem jsou 2 soubory na řádce
v jednom je osmisměrka, v druhém slova, které má program najít
výstupem má být slovo, souřadnice, kde slovo začíná a směr(shora nebo zleva), všechno funguje, jenže potřebuji,aby se slova vypisovala v pořadí, v jakém jsou napsána v souboru číslo 2
soubor s osmisměrkou:
xmuinjekci
evelkochov
cadvouhrac
feminizaci
pyzlanpbik
ldvojlinky
osvrhloubd
dqldrvandy
yevergreen
olympskout
soubor se slovy:
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
zdroják
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()
výstup:
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
ale potřeboval bych tento výstup:
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
Díky za pomoc