Ver Feed RSS

root@blog:/# chmod o+r *

[Curso de Python] Interação com o usuário - Parte 1

Avalie este Post de Blog

Antes de prosseguir leia os artigos anteriores aqui



Nesse artigo de hoje vamos aprender como "entrar em contato" com o usuário. Para isso vamos ver duas funções: input e raw_input.

Interação com o usuário



A interação com o usuário pode ser feita de várias maneiras, solicitando que ele digite alguma coisa, passando argumentos, arquivos de entradas e redirecionamento por pipe. Como ainda estamos engatinhando em Python vamos ver a mais básica delas: solicitar que o usuário digite alguma coisa.


Preparando o ambiente

Primeiro crie um arquivo que será o seu programa. Aqui vou utilizar o arquivo de nome 'teste_input.py'. Para quem usa Linux, não se esqueça de dar permissão de execução ao arquivo: chmod +x teste_input.py

Depois de criar o arquivo, abra-o com o seu editor predileto, quem usa o Windows pode usar o IDLE que vem junto com o Python, para isto basta clicar com o botão direito sobre o arquivo e escolher a opção 'Edit with IDLE'. Para quem usa Linux, pode usar o próprio gedit, ele inclusive colore o código automaticamente. Para quem gosta também pode usar o VI, VIM, MCEDIT ou EMACS, eu particularmente adoro o VIM depois de bem configurado!

Primeiro exemplo: raw_input

Depois de abrir o arquivo coloque nele o seguinte código:
Código :
#!/usr/bin/env python
 
nome = raw_input('Ola! Qual o seu nome? ')
print 'Muito prazer %s!!'%nome
Muito simples certo?? Agora vou deixar algo pra vocês:
Exercício: Façam um programa que receba 2 números e imprima a soma dos dois.

Postem os códigos nos comentários! No próximo post iremos analisar esse exercício e um pouco sobre os comandos de input.
Até mais...

Atualizado 01-09-2010 em 09:10 por Magnun

Categorias
Python , Artigos , Artigos , Cursos , Curso de Python

Comentários

Página 1 de 2 12 ÚltimoÚltimo
  1. Avatar de tony130666
    #!/usr/bin/env python

    n1= input('Insira o primeiro numero inteiro ')
    n2= input('Insira o segundo numero inteiro ')

    print "A soma dos dois numeros eh:" , n1+n2
  2. Avatar de Magnun
    Olá tony130666, muito bom! O seu código funciona mas tem uma pequena falha! Vou falar sobre isso no próximo post! Até lá...
  3. Avatar de ilsahec
    muito bom
  4. Avatar de Markim
    Primeiramente parabéns pela iniciativa e pelo blog.

    Meu exercício:

    #!usr/bin/python
    # -*- coding: utf-8 -*-

    def linha():
    print '\n'
    print '-'*25
    print '\n'


    nome = raw_input('Ola! qual o seu nome? ')
    linha()
    print 'Seja bem vindo %s' % nome
    linha()

    num1 = (int(raw_input('Por favor digite um numero: ')))
    linha()

    num2 = (int(raw_input('Por favor digite outro numero: ')))
    linha()

    soma = num1 + num2
    print 'A soma dos dois numeros é: %s' % soma
    linha()
  5. Avatar de Magnun
    Ótima solução Markim! Posso ver que seu conhecimento em Python não é "básico" pois você utilizou funções e outras coisas mais...

    Fico feliz que tenha lido meu post e comentado! Espero que tenha lido os posts que seguem essa linha, como esse: [Curso de Python] Interação com o usuário - Parte 2 - Blogs - Under-Linux.org

    Espero que continue participando! Até mais...
  6. Avatar de AondenetInformatica
    Interessante esse curso. Parece que Magnun além de um um bom curso mantém certa interatividade com os que estudam. Depois de finalizar o meu curso que estou fazendo em Shell e diversas linguagens imbuídas como awk. Vou verificar melhor esse curso de Python. Mas não deixo de acompanhar e verificar a qualidade do material que é relevante.
  7. Avatar de tony130666
    Demorei, mas estou aqui. Pois é fiz bem simples e sem nenhum tratamento de erro, e funções e tal. Pois foi pedido para entrada de dois número e a soma dos dois.....
    Afinal tem que se entrar bem com iniciante. ou não?

    Uso o shell + commander ou + zenity, xdialog e etc..
    Mas é puro hobby...
    Espero aprender um pouco desta linguagem maravilhosa que é python.

    Alias o código do Markim ficou bem completo e talvez até completo demais para iniciantes.
    Seria bom explicá-lo passo a passo mais adiante.
    Bom corrija o inicio onde está:
    #!usr/bin/python >>> seria melhor #!/usr/bin/env python
    Houve dois erros um muito grave onde não tem a barra "/" e a falta do env.

    O "env" é irrelevante.

    Mas, a falta da barra "/" retorna erro de caminho inválido, por não existir o "usr/bin/python" fora da raiz, que deverira ser "/usr/bin/python".

    Pelo menos usando o chmod u+x pyprog.py
    e:
    $ ./pyprog.py

    Mas, funciona usando:
    $ python pyprog.py

    E também a indetação, pois sem ela o código não funciona. Pois a função que termina com ":" exige a tal indentação.

    Erro de indentação é culpa do retorno da página. ......

    Me corrija se eu estiver errado.

    E viva a liberdade de informação!!!
    Atualizado 20-08-2010 em 22:26 por tony130666
  8. Avatar de tony130666
    ### Aqui o código corrigido: ###
    ### Percebi que onde se titulava erro de indentação, é um erro de retorno do html da página.
    ### Então onde tem pontinhos é o o espaço dado. Então esqueça os pontos...

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-

    def linha():
    .......print '\n'
    .......print '-'*25
    .......print '\n'


    nome = raw_input('Ola! qual o seu nome? ')
    linha()
    print 'Seja bem vindo %s' % nome
    linha()

    num1 = (int(raw_input('Por favor digite um numero: ')))
    linha()

    num2 = (int(raw_input('Por favor digite outro numero: ')))
    linha()

    soma = num1 + num2
    print 'A soma dos dois numeros é: %s' % soma
    linha()
    Atualizado 20-08-2010 em 22:21 por tony130666
  9. Avatar de Magnun
    Olá tony,

    Mandou bem, a / do /usr/bin me passou despercebido. Quanto à identação é o que vc falou mesmo. Lembrem-se de quando postar codigo aqui utilize as tags code (entre colchetes) e /code (entre colchetes) para que seja preservado a edentação.

    Até mais...
  10. Avatar de Não Registrado(s)
    Olá, fiz o exercício e ficou praticamente igual ao do Tony, portanto nem vou colocá-lo aqui. No início tive um pouco de dificuldades pois eu estava usando o "raw_input", o que resultou numa soma de strings (Ex.: 5 + 2 = 52), depois eu coloquei apenas o "input" e deu tudo certo, no problem! Por conta disto, vi num outro blog uma breve comparação entre estas duas formas e gostaria de compartilhar com vocês a título de curiosidade, creio que possa ser útil para iniciantes como eu:
    http://blog.larryjr.com/2009/06/o-input-do-python-3.html

    Parabéns pela iniciativa Magnun! \o/
Página 1 de 2 12 ÚltimoÚltimo

+ Enviar Comentário