Guest s33k_ Posted October 29, 2007 at 04:03 PM Report Share #143772 Posted October 29, 2007 at 04:03 PM escreva uma função que receba um parametro inteiro e desenho um triangulo rectangulo do tamanho fornecido utilizando asteriscos por exemplo ao cahamar a funcao da seguinte forma: triangulo(4) obteríamos o seguinte * ** *** **** alguem me pode ajudar a fazer este programa? Link to comment Share on other sites More sharing options...
JoaoRodrigues Posted October 29, 2007 at 05:18 PM Report Share #143780 Posted October 29, 2007 at 05:18 PM Primeiro, bem vindo 😉 Segundo, para construires algo desse género tens que ter: 1) Uma variavel que receba input do utilizador com o lado (no teu exemplo: 4) 2) Um ciclo que te vá imprimindo para o ecrã sucessivamente uma soma de asteriscos ATÉ que sejam o valor da tal variável. Link to comment Share on other sites More sharing options...
djthyrax Posted October 29, 2007 at 05:48 PM Report Share #143783 Posted October 29, 2007 at 05:48 PM Não sei se sabes definir funções, por isso aqui fica um exemplo de como o podes fazer: def funcao(argumento): print "O argumento passado foi " + argumento return argumento Em relação à função em si, o que tens de fazer é: -> Fazeres um loop de 1 até {argumento passado}, incrementando uma variável (i por exemplo) a cada iteração. ---> Nesse loop, mostras os asteriscos i vezes. Mais que isto, só dando a resolução. 😉 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Guest s33k_ Posted October 29, 2007 at 08:09 PM Report Share #143817 Posted October 29, 2007 at 08:09 PM Só nao percebo onde por os asteriscos. a função em si até é facil mas os asteriscos é que me estao a baralhar :S Link to comment Share on other sites More sharing options...
djthyrax Posted October 29, 2007 at 08:16 PM Report Share #143819 Posted October 29, 2007 at 08:16 PM O asterisco é um simples caracter, imprimes da mesma maneira que um B por exemplo. print "*" print "**" print "***" Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Triton Posted October 29, 2007 at 08:22 PM Report Share #143823 Posted October 29, 2007 at 08:22 PM Aqui fica uma forma simples de como fazer: def trig(n): for i in range(1,n+1): print i*"*" >>> trig(4) * ** *** **** <3 life Link to comment Share on other sites More sharing options...
djthyrax Posted October 29, 2007 at 08:56 PM Report Share #143830 Posted October 29, 2007 at 08:56 PM Aqui fica uma forma simples de como fazer: def trig(n): for i in range(1,n+1): print i*"*" >>> trig(4) * ** *** **** Eheh, das pelhores soluções possíveis. 😉No entanto, estás a usar coisas (o range()) que não existem noutras linguagens (ou pelo menos, só existem em algumas). Se ele tiver a começar a programar, era preferível ele fazer algo como: def trig(n): nivel = 0 while nivel <= n: nivel += 1 i = 0 while i < nivel: print "*", i += 1 print É mais trabalhoso de escrever, mas desta maneira é exactamente como se processam as coisas. 🙂 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Betovsky Posted October 29, 2007 at 11:35 PM Report Share #143891 Posted October 29, 2007 at 11:35 PM djthyrax, mas dessa maneira não está a aprender Python. Acho que é esse o objectivo e não estar a aprender técnicas arcaicas. Aprender técnicas à muito esquecidas só é necessário quando for aprender linguagens igualmente arcaicas 😉 "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk Link to comment Share on other sites More sharing options...
djthyrax Posted October 29, 2007 at 11:39 PM Report Share #143894 Posted October 29, 2007 at 11:39 PM djthyrax, mas dessa maneira não está a aprender Python. Acho que é esse o objectivo e não estar a aprender técnicas arcaicas. Aprender técnicas à muito esquecidas só é necessário quando for aprender linguagens igualmente arcaicas 😉 Se ele tiver a começar a programar, (...) Ou seja, se ele quer entender como funcionam, tem de olhar para além de um simples for i in range(1, 5): print i*"*", não pode ficar dependente das características da linguagem, tem que aprender a lógica e a sintaxe vai e vem. Se não for assim, como vai ter ele bases para progredir noutra linguagem? 🙂E só pus aqui este método porque ele não diz se está a aprender a programar ou se está a aprender Python. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Betovsky Posted October 30, 2007 at 12:05 AM Report Share #143906 Posted October 30, 2007 at 12:05 AM E só pus aqui este método porque ele não diz se está a aprender a programar ou se está a aprender Python. Mas aí está uma das vantagens de se aprender Python como primeira linguagem. Não tens que aceder a lógicas tão rudimentares logo no inicio.Achas que é bom para uma pessoa se estiver a aprender programação darem-lhe logo código com aritmética de apontadores, chamadas directas ao assembly, etc? Claro que não, isso fica para quando o programador tiver maior maturidade e decidir investigar um pouco mais fundo. Óbvio que o teu código não é algo tão bruto, mas dá para passar a ideia. Para além que o código do Triton para quem está a aprender é muito mais interessante, já que introduz mais conceitos base da linguagem em questão. É feita uma referência a um ciclo (for) como no teu código tem os while. Depois ainda introduz o conceito de range e o conceito de multiplicação entre tipos diferentes. Tudo noções base do Python que se deve aprender no inicio, para além que é uma forma mais correcta de programar em Python. "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk Link to comment Share on other sites More sharing options...
djthyrax Posted October 30, 2007 at 12:08 AM Report Share #143909 Posted October 30, 2007 at 12:08 AM Pronto, não discuto mais! 😉 Eu pessoalmente acho que primeiro deve-se saber a lógica e só depois aperfeiçoar com "manhosices" como o range() e lambda. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Guest s33k_ Posted October 30, 2007 at 03:51 PM Report Share #143997 Posted October 30, 2007 at 03:51 PM Tks pelas ajudas . Estou no 11º ano do curso tecnologico de informatica e estou a iniciar a aprender python. Alguem me pode dizer ou disponibilizar qual o melhor tutorial para ler sobre iniciantes ? Link to comment Share on other sites More sharing options...
djthyrax Posted October 30, 2007 at 04:33 PM Report Share #144014 Posted October 30, 2007 at 04:33 PM http://www.portugal-a-programar.pt/index.php?showtopic=8692 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
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