Jump to content
JF28

[Resolvido] Ajuda trabalho Python

Recommended Posts

JF28

Boas

Preciso de ajuda para resolver um trabalho em python para a universidade, nao sou aluno de informatica mas tenho a disciplina de programação e como devem calcular nao é a minha praia :S. P

O trabalho consta na resolução de uma sopa de letras com os seguintes objetivos:

"

Sopa de Letras

Considere o conhecido passatempo “sopa de letras”, encontrado em diversos jornais e revistas. O objetivo é encontrar palavras pré-definidas numa grelha preenchida com letras aleatórias (entre as quais estão “escondidas” as palavras a encontrar).

Fase 1

Faça um programa que leia um ficheiro 'sopa.txt', que contém as linhas do desafio e, em seguida, separadas das letras por uma linha em branco, as palavras “escondidas” (uma por linha).

Deve definir funções para:

• Ler os dados do desafio e criar uma representação própria em Python. Note que o número de linhas e colunas não é fixo.

• Encontrar as palavras na grelha, retornando uma lista das posições (linha, coluna) e colocação da palavra (horizontal ou vertical)

• Usando o módulo graphics, mostrar a grelha de letras a preto. Depois de um clique do rato, mostrar cada palavra encontrada a vermelho. Use uma estrutura própria do Python para guardar as letras de interesse em objetos Text, de modo a poder mudar-lhes a cor posteriormente.

Fase 2

Implemente uma versão melhorada do programa, que permita encontrar palavras:

1. Na diagonal

2. Invertidas (de baixo para cima, da direita para a esquerda e do canto inferior direito para o superior esquerdo). "

Agradecia a vosssa ajuda, é o que me falta para conseguir passar na disciplina.

Cumprimentos

Share this post


Link to post
Share on other sites
JF28

Começa a tentar resolver o trabalho, mostra o que fizeste, e depois expõe as dúvidas que tiveres, em vez de simplesmente copiares um enunciado. (E já agora, vê também as regras da comunidade.)

Peço desculpa.

O que consegui fazer foi adicionar o ficheiro txt, e consegui achar as palavras por linhas, nao faço ideia como fazer as verticais e o modelo grafico tambem nao sei.

Este foi o código que fiz até agora:

def sopa():
   file=open ("sopa.txt","r")
   lista=[]
   palavras=[]
   for line in file:
       lista.append(line)
   file.close()
   print(len(lista))
   x=lista.index('\n')
   ##lista.remove('\n')
   ##for i in range (len(lista),x):
   ##  e=lista[i]
   ##  palavras.append(e)
   ##  lista.remove(e)
   sopa=lista[0:x]
   palavras=lista [x+1:len(lista)]
   print(palavras)
   for i in palavras:
       for j in sopa:
           if i in j:
               print('iiii')
               linha=sopa.index(j) ##procura por linhas
               print(i,'estao na linha:',linha)




sopa()

Cumprimentos

Edited by thoga31
Tags code + GeSHi

Share this post


Link to post
Share on other sites
Rui Carlos

Cria uma função para procurar uma palavra na sopa de letras. Podes dividir a função em duas, para procurar na vertical e horizontal.

Para essa função, podes por exemplo percorrer todas as linhas e colunas, e comparar a palavra a pesquisar com a string da sopa de letras que começa na posição actual.

De um modo geral, deves tentar dividir o trabalho em várias função. A leitura do ficheiro também devia estar numa função separada.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.