Jump to content
Maçãs

strings/tuplos

Recommended Posts

Maçãs

boas pessoal, alguém consegue ajudar-me a resolver este problema

resposta_elemento : resposta x N0 -> tuplo(string; coordenada)

resposta_elemento(res; n) devolve o enésimo elemento da resposta res.

Caso n seja menor que 0 ou maior ou igual que o número de elementos da

resposta erro, o seletor deve gerar um erro de valor (ValueError) com a seguinte

mensagem:

resposta_elemento: argumentos inválidos

Share this post


Link to post
Share on other sites
thoga31

Claro que conseguimos. Mas antes, convinha 1) explicares o problema de forma apropriada, e 2) mostrares o que já tentaste fazer.


Knowledge is free!

Share this post


Link to post
Share on other sites
Maçãs

vou tentar pq estou com problemas de interpretação do enunciado.

Pelo que percebi o res é uma lista de tuplos que é composta por uma palavra(string) e uma coordenada (p.ex. (0,0,'N')).

O que é pretendido com o resposta_elemento(res, n), em que n é o enésimo, é que se retire do res, que pode ter mais que uma (string,coordenada) , o correspondente ao n, pelo que eu entendi é isto.

p.ex.

([ ('OLA',(0,0,'S')], [('ADEUS',(1,1,'N')]) devolvendo depois o n que ou será [ ('OLA',(0,0,'S')] ou [('ADEUS',(1,1,'N')], se o n não corresponder a nenhum deve gerar o ValueError

É esta a minha interpretação do problema

Share this post


Link to post
Share on other sites
thoga31

Que raio de enunciado para uma coisa tão simples...

Vamos lá então organizar as ideias. ;)

Para começar, como está dito no enunciado, este é o protótipo da função a construir:

def resposta_elemento(res, n):
   pass

Tu tens então res que é uma lista de tuplos, tuplos estes que são resultados. Tu procuras o enésimo resultado da lista. A questão que se coloca é: como acedes e devolves o enésimo elemento de uma lista?

Depois disto, vamos à questão do n fora dos limites aceites.


Knowledge is free!

Share this post


Link to post
Share on other sites
Maçãs

sim exactamente foi isto que fiz mas dá errado nos testes

def resposta_elemento (res,n):
   if 0 < n <= len(res):
       return res[n]
   else:
       raise ValueError('resposta_elemento: argumentos invalidos')

Edited by thoga31
GeSHi

Share this post


Link to post
Share on other sites
thoga31

Que erros? Eu não adivinho.

Btw, não estás a cumprir o enunciado na íntegra. Vê lá esse if.

Edited by thoga31

Knowledge is free!

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.