josemehc Posted January 5, 2013 at 07:11 PM Report #489790 Posted January 5, 2013 at 07:11 PM Boa tarde, desde já felicito o forum pela excelente composição. venho aqui expor a seguinta dúvida. estou a iniciar-me em python, ( quando digo iniciar refiro-me mesmo apenas a fazer um "hello world!") e deparei-me com a seguinte questão. óbvio que uma pessoa deve começar pelos passos mais básicos e compreender a linguagem, mas eu pensei que como motivação poderia arranjar uma ideia para um programa e tentar devagarinho tentar construir o mesmo à medida em que vou aprendendo. penso que a minha ideia é básica, refiro-me a um programa que procure ficheiros no disco rigido ( como o search no windows). imaginemos, quero procurar todos os ficheiros com extensão TXT, o programa iria procurar o disco por esses ficheiros. por onde devo começar? dá para desenvolver o aspecto grafico do programa tambem, por exemplo em janela?
thoga31 Posted January 5, 2013 at 09:28 PM Report #489814 Posted January 5, 2013 at 09:28 PM Bem-vindo ao P@P 🙂 Esta é a tua primeira vez na programação, ou já tens alguma experiência noutras linguagens? Antes de mais, primeiro desenvolve para consola. Mais tarde, quando tiveres as bases sólidas da linguagem, pensa em avançar para um ambiente gráfico. Antes de um programa desses, avança primeiro para além do "Hello World". Há muitas coisas a saber em Python antes disso, e não são difíceis - penso que em pouco tempo as apanhas. Tens aqui alguns módulos para manipular directórios e ficheiros, de qualquer das formas. 😉 Knowledge is free!
josemehc Posted January 5, 2013 at 10:08 PM Author Report #489818 Posted January 5, 2013 at 10:08 PM obrigado pela resposta 🙂 respndendo à tua pergunta, não tenho experiencia em nenhuma linguagem de programação, esta é mesmo a minha primeira vez. e como não sei a linguagem, questiono-me como fazer as coisas... não sei se o programa é dificil de ser feito, ou se alguem já fez algo parecido, ou se existe partes do código em tuturiais com a explicação de o que faz e pq é que tem que ser assim... já agora outra questão : em python quando fazemos print "hello" apareçe o hello, eu experimentei fazer dizer = print, e em seguida fiz dizer "hello", e ele tbm o fez. a questão é, é possivel alterarmos os comandos que irei usar como fiz em print? é possivel guardar isso como base de dados para reutilizar noutros projectos?
thoga31 Posted January 5, 2013 at 10:15 PM Report #489819 Posted January 5, 2013 at 10:15 PM Estás cheio de questões de novatos. É normal. Vai com calma. Cada coisa a seu tempo. Sim, tudo isso que disseste pode ser feito. E existem códigos e tutoriais com fartura. Mas antes de um programa desses (existem vários, em várias linguagens, é muito comum os aprendizes implementarem-no), aprende devidamente Python. Vai com calma, estás com um speed do camandro. Não penses que isto é só magia, porque não é. Ah, e vê um pouco de Lógica e Algoritmia, é essencial antes de qualquer outra coisa. 😉 Knowledge is free!
josemehc Posted January 7, 2013 at 10:46 AM Author Report #489981 Posted January 7, 2013 at 10:46 AM peço desculpa só responder hoje pq estive ausente, agradeço a todos a ajuda... pois, estou cheio de dúvidas mas é normal 🙂 o speed é devido a motivação. já agora, que aconçelham a aprender/ver primeiro? logica e algoritmia é por onde devo começar? ou ainda existe matéria mais básica a ser aprendida?
josemehc Posted January 7, 2013 at 12:39 PM Author Report #489994 Posted January 7, 2013 at 12:39 PM (edited) tive a ler oa explicação que o thoga31 meteu aqui sobre lógica, e comprendi onde queriam chegar. no entanto tento fazer uma coisa simples como por exemplo " se o x + y for superior ao nª2 então print "superior"", mas não me dá resultado, isto pq não sei o código. o que tentei fazer foi isto : if x+y>2 : print ("maior") else : print ("menor") alguem me pode esclarecer como ficava o codigo correctamente ? Edited January 7, 2013 at 12:57 PM by thoga31 GeSHi
thoga31 Posted January 7, 2013 at 01:04 PM Report #489999 Posted January 7, 2013 at 01:04 PM Mais básico que lógica e algoritmia só mesmo somar 1 e 1. 🙂 A base das bases da programação é a Lógica e a Algoritmia. Convém ter noções mínimas sobre isso. Se não colocam-te problemas e tu não consegues chegar à solução porque não sabes quando utilizar, por exemplo, um "and" ou um "or". O teu código está correcto, aparte a falta de indentação. As estruturas de controlo em Python são definidos pela indentação, que deve ser igual ao longo de todo o programa, e é definida pela primeira indentação de todas. Por exemplo, se na primeira indentação forem utilizados 4 espaços, o restante programa deverá ser indentado, nas estruturas de controlo, com 4 espaços. Se se der mais ou menos ocorre um erro. Knowledge is free!
josemehc Posted January 7, 2013 at 01:10 PM Author Report #490002 Posted January 7, 2013 at 01:10 PM então como deveria ficar o código para quando fizesse uma soma, se o resultado fosse maior que 2, aparecer o print? (peço desculpa estar com estas questões de noob :S )
thoga31 Posted January 7, 2013 at 01:18 PM Report #490004 Posted January 7, 2013 at 01:18 PM (edited) Não faz mal nenhum. Todos nós aqui já passámos por essa fase, incluindo eu. Ninguém nasce ensinado. 😉 Não sei se aquele código é tudo o que fizeste. Vamos pensar assim: tens de pedir ao utilizador dois números e verificar se a soma deles á maior do que 2. A primeira coisa a definir são as variáveis necessárias e pedir ao utilizador que dê os números. Em Python será assim: x = int(input("Introduza número inteiro: ")) y = int(input("Introduza outro: ")) Para saberes o que faz cada um deste métodos que utilizei, pesquisa um bocadinho. Mas posso adiantar desde já que pedi ao utilizar um valor, e converto o que ele me der num inteiro. Não estou preocupado neste momento em controlar se o input tem letras ou etc. Posta esta parte, vem a análise da soma dos número. É como disseste, mas com indentação: if x + y > 2: print("Soma maior que 2") else: print("Soma menor que 2") Neste caso utilizei uma indentação de 4 espaços, que é a minha favorita. So far, so good? Ou que questões tens em relação a esta parte? 🙂 Edited January 7, 2013 at 01:18 PM by thoga31 Knowledge is free!
josemehc Posted January 7, 2013 at 01:35 PM Author Report #490007 Posted January 7, 2013 at 01:35 PM ah! já entendi! o problema é que eu não tinha definido o X e o Y, right? eu usei a identação quando me deu o erro, mas quando fiz o copy/paste não apareçeu :\
thoga31 Posted January 7, 2013 at 10:13 PM Report #490063 Posted January 7, 2013 at 10:13 PM (edited) Pois, as variáveis não aparecem do céu. Comparas x+y com 2, mas onde estão antes as variáveis x e y? Quais os seus valores? Programação não é feita de milagres, é feita de lógica. E a lógica, neste caso, é simples: antes de usar variáveis, deve-se 1) criá-las e 2) inicializá-las. Em Python podes fazer estes 2 passos de uma vez só, como viste. Mas noutras linguagens isto não funciona assim, e cada passo merece uma instrução distinta. 😉 Edited January 7, 2013 at 10:14 PM by thoga31 Knowledge is free!
josemehc Posted January 9, 2013 at 01:15 PM Author Report #490321 Posted January 9, 2013 at 01:15 PM obrigada pela ajuda 🙂 consegui entender tudo 🙂 só que afinal não era bem isto que eu queria fazer...aquilo faz o print consoante os números que nós introduzimos antes, o que eu prentendia era quando fizessemos um cálculo, fosse este um qualquer, quando me desse um resultado, aí sim apareçia o print...não sei se me fiz entender 😛
thoga31 Posted January 9, 2013 at 04:15 PM Report #490376 Posted January 9, 2013 at 04:15 PM Não sei se entendi bem o que pretendes. Primeiro que tudo, as varáveis têm de ser inicializadas e têm de ter valores. Eu apliquei o mais típico, que é pedir ao utilizador. Existem outros métodos, entre eles o método pseudo-aleatório. De seguida, creio que te referes ao facto de quereres mostrar o resultado de um cálculo. É isso? Há duas opções: ou mostras directamente o resultado, ou guardas este numa variável primeiro se precisares de o utilizar mais tarde. # Pretendemos calcular x^y. # Pedimos os números: x, y = int(input()), int(input()) # Método sem variável: print("{0}^{1}={2}".format(x, y, x**y)) # Método com variável: res = x ** y # posso utilizar "res" a qualquer altura, não preciso de estar sempre a calcular x^y. print("{0}^{1}={2}".format(x, y, res)) Knowledge is free!
josemehc Posted January 9, 2013 at 06:20 PM Author Report #490415 Posted January 9, 2013 at 06:20 PM sim, era isso mesmo que pretendia 🙂 obrigada mais uma vez pelo esclarecimento 🙂
thoga31 Posted January 9, 2013 at 08:04 PM Report #490432 Posted January 9, 2013 at 08:04 PM De nada. Tens mesmo é de começar a estudar as bases em Lógica e em Algoritmia antes sequer de pensares em searchers. E quando tiveres dúvidas, apita. Estamos aqui para ajudar. 😉 btw, acho que fizeste uma boa escolha em começar com Python. Vai-te dar uma ideia muito boa sobre vários géneros/paradigmas de programação. Ainda para mais quando estás a fazê-lo, para já, como "passatempo". Knowledge is free!
_4ndr3 Posted January 26, 2013 at 09:40 AM Report #492910 Posted January 26, 2013 at 09:40 AM Boas, A melhor maneira de aprenderes a programar é como dizia o Stallman "fazendo projetos reais". Lança um desafio a ti mesmo de algo simples que queiras fazer e vais te obrigar a esforçar-te mais. Neste site: http://issuu.com consegues encontrar muitos livros de programação que estão abertos ao público. De resto, a documentação do Python é espectacular: http://docs.python.org/2/ por isso vale a pena ler aquelas páginas todas 🙂
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