nuno35 0 Posted October 5, 2018 Report Share Posted October 5, 2018 Boa Tarde Tenho aqui uma duvida eu tenho um numero e tenho a lista x que vai do 1 ate esse numero [1..numero] e a lista y que vai do numero ate ao 0 [numero..0] e quero percorrer as duas e ir somando e ver quando dava o numero quando der fazia o show do (x,y) estava a tentar fazer do género: numero =100 [if x+y == numero then let resultado = (x,y) |x<-[1..numero] y<-[numero]] mas o if nao me esta a dar para por ali e nao me estou a lembrar de outra maneira de fazer isto. Desde já Obrigado Link to post Share on other sites
Solution thoga31 577 Posted October 5, 2018 Solution Report Share Posted October 5, 2018 Boa noite, @nuno35. Numa list comprehension em Haskell, a condição booleana não é feita dessa forma, não havendo sequer o uso de let. A sintaxe geral é a seguinte (feita de cabeça, poderá conter incorrecções e não contemplar todos os casos possíveis): [funcao(elemento) | elemento <- lista, ..., condição1, ...] Portanto, no teu caso deverás usar algo como isto: [(x, y) | x <- [1..numero], y <- [numero, numero-1 .. 0], x + y == numero] Cumprimentos. 1 Report Knowledge is free! Link to post Share on other sites
nuno35 0 Posted October 7, 2018 Author Report Share Posted October 7, 2018 (edited) Muito obrigado Edited October 8, 2018 by nuno35 Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now