Neste trecho de aula, vamos aprender:
- Pedir um dado para o usuário
- Realizar operações com variáveis
Em primeiro lugar, perceba que até agora, não pedimos para o usuário nada, estamos fazendo programas para nós mesmos. Mas se... Começassemos a pedir valores para o usuário e mais... Realizásse-mos operações com os dados recebidos, retornando novos valores! Vamos lá! Mãos à obra!
Para saber pedir um determinado dado para o usuário, devemos saber o tipo de dado que estamos pedindo e saber que podemos converter tipos de dados. Vejamos:
decimal = 1.523
inteiro = int(decimal)
texto = str(inteiro)
print("Float: %f Inteiro: %i String: %s" %(decimal,inteiro,texto))
Note que, antes de definir a variável, tivemos que especificar, com as três letras iniciais, o tipo de variável que queremos, e, em seguida, o nome da variável entre parenteses... Note que a saída do programa será a seguinte:
Float: 1.523 Inteiro: 1 String: 1
Mas por que o inteiro ficou como 1? Isso se deve ao fato de que o inteiro, como já foi passado na aula passada, não pode compreender números decimais. Com isso ele corta a parte decimal e fica com a parte inteira para si. E é essa parte inteira que a string imprime. Mas porque estamos falando isso? Tenhamos em mente o seguinte problema: eu vou fazer um programa que receba a altura e a idade de uma pessoa, e calcule o Índice de Massa Corporea (IMC). Detalhe: O cálculo do IMC é feito dividindo o peso (em quilogramas) pela altura (em metros) ao quadrado. Ao final deve ser mostrado para o usuário o resultado.
Então temos alguns problemas, que ainda não sabemos solucionar... Em primeiro lugar, como receber um dado do usuário? Para receber um dado do usuário, temos que utilizar o input() (pra quem tem o python 2.x, não é input, mas sim: raw_input()).
Vejamos:
idade = input("Digite sua idade: ")
Percebeu que o input é semelhante ao print? As diferenças são que o input é utilizado diretamente na variável, para que logo possamos armazenar o valor digitado pelo usuário, o nome em si, que é diferente de print e que o input nada mais faz que esperar que o usuário digite algo.
Entretanto, existe um pequeno problema: o valor recebido pelo input, sempre será string. Logo temos que converter essa string para o type que queremos, existem dois modos, vejamos:
idade = input("Digite sua idade: ")
idade = int(idade)
OU
idade = int(input("Digite sua idade: "))
Em ambos os casos estamos fazendo exatamente a mesma coisa, só que o segundo modo de solucionar tal problema é mais "direto".
Agora que sabemos recolher informações do usuário, podemos partir para a parte de operações, já que também é necessário que conheçamos para que possamos atingir a meta desta aula (resolver a questão citada acima).
Assim como em uma calculadora qualquer (como própria a calculadora do computador), as Linguagens de Programação dispõem de calculadora. As principais operações a fazermos é:
+ (soma)
- (subtrai)
* (multiplica)
/ (divide)
** (eleva a um determinado número)
% (extrai o resto de uma determinada divisão)
Vejamos agora uma aplicação, dando continuidade à nossa resolução do problema:
idade = int(input("Digite sua idade: "))
altura = float(input("Digite sua altura: "))
soma = idade + altura
subtracao = idade - altura
multiplicacao = idade * altura
divisao = idade/altura
exponenciacao = idade ** altura
resto = idade%altura
print("Idade: %i\nAltura: %.1f\nSoma: %.1f\nSubtração: %.1f\nMultiplicação: %.1f\nDivisão: %.1f\nExponenciação: %.1f\nResto: %.1f" %(soma,subtracao,divisao,exponenciacao,resto))
A soma, a subtração, a multiplicação e a divisão não é novidade para ninguém... Isso é fato. Mas temos coisas novas: ** e %. Já vimos antes que % é utilizado na impressão de variáveis, mas não é só isso! O símbolo % retorna o resto da divisão existente entre o número que vem à esquerda do símbolo pelo número que vem à direita do símbolo. Enquanto isso, temos que ** retorna o resultado da potenciação existente entre o número que vem à esquerda do símbolo elevado ao número que vem à direita do símbolo.
Com isso, já temos um bom empenho e já somos capazes de resolver muitos problemas... Mas precisamos de algo amais...
Python é capaz de solucionar expressões, e é capaz de resolver conforme às regras da matemática (primeiro o que vier entre parêntesis e com potenciação e coisas do tipo), portanto, se temos uma determinada expressão, podemos pôr um parêntesis para "forçar" o python a solucionar primeiro tal cálculo (o que estiver entre parêntesis).
Vejamos então:
peso = int(input("Digite seu peso: "))
altura = float(input("Digite sua altura: "))
imc = altura/(peso**2)
print("Seu IMC é %.2f" %(imc))
Veja como nossa capacidade de programar já evoluiu! Partimos de um simples "Hello World" e já estamos fazendo este tipo de cálculo.
Agora vamos praticar, já que a prática é a melhor e mais eficiente maneira de aprender... Mesmo errando, mas é pelo erro que aprendemos como não cometê-lo novamente.
Atividade
- Faça um programa que peça a idade do usuário, e imprima a idade na tela
- Faça um programa que seja capaz de resolver uma soma com dois números informados pelo usuário
- Faça um programa que seja capaz de realizar potenciação, pedindo para o usuário a base e o expoente.
- Faça um programa que seja capaz de solucionar uma equação de 2° grau, pedindo o valor correspondente a A, o valor correspondente a B e o valor correspondente a C.
Nenhum comentário:
Postar um comentário