Entrada do usuário e manipulação de erros
Deixe para depois... faça agora genérico!
Dados de entrada pode ser definidos diretamente no programa, ou seja,
especificar explicitamente os valores de variáveis: A = 0.1
ou
w = 1
, o que pode ser adequado para pequenos programas ou programas
específicos. No geral, é considerado uma boa prática deixar que o
usuário forneça os dados de entrada quando o programa está rodando,
sendo desnecessário modificar o programa propriamente dito para um novo
conjunto de dados.
Dados de entrada no código
Até agora, vínhamos escrevendo nossos dados de entrada diretamente no código.
v0 = 5
g = 9.81
t = 0.6
y = v0*t - 0.5*g*t**2
print y
Notas:
- Dados de entrada foram explicitamente definidos;
- Mudanças nos dados de entrada requer uma edição do código;
- Isso é considerado uma programação ruim, pois a edição de programas pode facilmente introduzir erros no código.
- Regra: leia a entrada do usuário, evite editar um programa funcional!
Como programas profissionais obtém suas entradas?
- Considere um navegador da internet: como você define um endereço da web? Como você modifica o zoom?
- Você não vai editar o código fonte do programa para isso...
Como podemos especificar dados de entrada em programas?
- Valores definidos explicitamente;
- Perguntar ao usuário e ler as respostas;
- Ler os argumentos de linha de comando;
- Ler dados de um arquivo.
Obtendo a entrada de perguntas e respostas
Programa de exemplo:
C = 21; F = (9.0/5)*C + 32; print F
Ideia: faça o programa perguntar ao usuário "C = ?", leia a resposta do usuário e atribua essa resposta a variável C.
C = raw_input('C=? ') ## C becomes a string
C = float(C) ## convert to float so we can compute
F = (9./5)*C + 32
print F
Rodando em uma janela no terminal:
Terminal> python c2f_pr.py
C=? 21
69.8
Outro exemplo: imprima os primeiros n números pares
n = int(raw_input('n=? '))
for i in range(2, 2*n+1, 2):
print i
#ou:
print range(2, 2*n+1, 2)
#ou:
for i in range(1, n+1):
print 2*i