Enviar um café pro programador

Mostrando postagens com marcador input. Mostrar todas as postagens
Mostrando postagens com marcador input. Mostrar todas as postagens

Exercícios Básicos de Python

Se chegou até aqui, nossos sinceros parabéns. A equipe do Curso Python Progressivo fica muito feliz! Mas quando ficar milionário, não esquece da gente, ok?

Foram 15 tutoriais, bem longos e com bastante informação.
Esta altura do campeonato, você já está bem encaminhado em programação.

Para consolidar seus conhecimentos, iremos propor uma série de exercícios bem interessantes e legais de se fazer, com problema reais, do cotidiano, que você irá encarar no seu dia-a-dia como programador Python.



Exercícios Básicos de Python

01. Escreva um programa que pede o raio de um círculo, e em seguida exiba o perímetro e área do círculo.

Para saber o valor do pi, faça:
import math

print(math.pi)

Pronto, para saber o valor de pi, basta usar 'math.pi', que é um float

02. Você está no Brasil, e para temperatura usamos o grau Celsius.
Porém, quando você for contrato para trabalhar como programador Python no exterior, deverá usar graus Fahrenheit.

A fórmula da conversão é a seguinte:

Tutorial completo de Python
 Ou seja, você fornece a temperatura em graus Celsius, e seu script faz a conversão para graus Fahrenheit.

03. Agora faça o contrário. Você fornece a temperatura em graus Fahrenheit, seu programa conversar para Celsius e exibe na tela.

04. Um novo modelo de carro, super econômico foi lançado.
Ele faz 20 km com 1 litro de combustível.
Cada litro de combustível custa R$ 5,00.

Faça um programa que pergunte ao usuário quanto de dinheiro ele tem e em seguida diga quantos litros de combustível ele pode comprar e quantos kilometros o carro consegue andar com este tanto de combustível.

Seu script será usado no computador de bordo do carro.



Como transformar strings em números em Python - Funções int() e float()

No próximo tutorial de Python, vamos começar a trabalhar com Matemática, fazer operações e até criar uma calculadora bem bacana e simples, toda feita com o que estudamos até o momento.

Mas antes de falarmos disso, precisamos resolver um problema com nossa função input que recebe dados do teclado do usuário.

Leia também:

Eu quero obter certificado Python Progressivo e Entrar no Mercado de Trabalho!



Função input() e retorno em string

Quando digitamos qualquer coisa no teclado para a input capturar, ela automaticamente vai transformar esse dado em uma string (um texto).

Atenção: Isso na versão mais nova do Python, a 3.x (3.4, 3.6 ...etc).
ATUALIZE SEU PYTHON PRA VERSÃO MAIS NOVA, OK?

Vamos usar o seguinte script que pede três dados do usuário e em seguida exibe o tipo de variável através da função type().

Nosso script:
string=input("Digite uma string: ")
print( type(string) )

inteiro=input("Digite um inteiro: ")
print( type(inteiro) )

decimal=input("Digite um float: ")
print( type(decimal) )


Agora vamos rodar e digitar uma string, depois um inteiro e depois um float (decimal), veja o resultado:

String para float

Veja que nos três casos, as variáveis são do tipo string ('str').
Mas, peraí Python!

Eu queria que só a primeira fosse string!
2112 queria que fosse um inteiro
21.12 queria que fosse um decimal (float)

Por que isso acontece? Deu bug no Python? Quebrei o Python?

Não, caro paladino das artes computacionais.
Isso é uma característica da função input() no Python 3.x

Dizemos que a função input retorna uma string.
Ou seja, ao utilizarmos ela, ela vai colocar uma string na variável, não importa o que você tenha digitado, ok?

Mas vamos aprender como transformar essas strings indesejadas em números do tipo que quisermos!



Função int() - String para Inteiro (str to int) em Python

Para transformar uma string em inteiro, vamos usar a função int()
Basta colocarmos o que quisermos entre os parêntesis dessa int(), que ela retorna um inteiro.

No caso, vamos colocar uma string, ok?

Exemplos:
Vamos definir uma variável chamada var1 e colocar a string '2112' dentro dela.
Em seguida, vamos usar a função type() para exibir o tipo de dado (vai aparecer 'str' de string).

Em seguida, vamos pegar outra variável var2 e fazer ela receber a função int() e dentro dessa int, colocamos a string var1. Depois imprimimos o tipo de dado que é a var2, veja:
var1='2112'
print( type(var1) )

var2 = int(var1)
print( type(var2) )


O resultado é exatamente o que esperamos:

Apostila de Python online grátis para download


Transformamos a string '2112' no número 2112 !




Função float() - String para Decimal (str to float) em Python

Exatamente como funciona a int(), funciona a float().
Tudo que colocarmos entre os parêntesis dessa função, ela vai transformar em float.

Vamos criar um script que pede um decimal para o usuário e armazena na variável var1. Depois, imprimimos o tipo de dado dessa var1, que vai ser 'str'.

Depois, colocamos essa var1 dentro da função float() e armazenamos o valor em uma variável var2. Em seguida, imprimimos o tipo de dado dessa variável, que vai ser 'float'.

Agora, vamos pegar uma variável var3 e colocar um inteiro nela, o número 2112, que é o número mais foda de todos.

Depois transformamos esse inteiro em um float, armazenamos ele em var4 e vemos o tipo de dado da var4, que agora agora é float, veja:

var1=input("Digite um decimal: ")
print( type(var1) )

var2=float(var1)
print( type(var2) )

var3=2112
var4=float(var3)

print( type(var4) )

print(var4)

O resultado foi esse:

Curso de Python online grátis


Xablau! Transformamos uma string em float, e depois o inteiro 2112 em um float. Imprimimos até var4 para vermos que 2112 se transformou em 2112.0 , um decimal!

Usando int() e float() na função input()

Ok, mas e o nosso problema inicial? De querer um número e o diacho da função input me dar uma string, como resolver?

Muito simples. Lembra que dissemos que a input retorna uma string?
Então é só jogar a função input dentro das funções int() e float()

Ou seja, para pegar um dado do usuário, transformar em inteiro e armazenar na variável var1, faça:

var1 = int( input("Digite um inteiro: ") )

E para pegar o dado do usuário e transformar em decimal, basta jogar a input dentro da função float:

var2 = float( input("Digite um decimal: ") )


E prontinho! var1 é um tipo de dado inteiro e var2 é um tipo de dado float.
Simples, não?

A função input() do Python - Lendo dados do Teclado

Até o momento, em nosso Curso de Python, nossos scripts não tem interação nenhuma entre o Python e o usuário.
Eles simplesmente rodam do começo ao fim, sempre do mesmo jeito.

Mas não é isso que ocorre corriqueiramente nos programas que usamos.
Fornecemos dados (como textos, login, senhas), clicamos em coisas, recebemos dados da internet etc etc.

Leia também:

Eu quero obter certificado Python Progressivo e Entrar no Mercado de Trabalho!

Neste tutorial de nosso curso, vamos te ensinar como começar a receber dados das pessoas que estão executando os programas, através da função input() do Python!



Como Receber Dados - Função input() do Python

O formato da função input é o seguinte:

variavel = input(string)

Só isso.
Seja lá o que a pessoa digitar, a informação ficará armazenada na variável 'variavel'. E o que será exibido na tela é a string (texto) 'string'.

Vamos ver na prática o uso da função input. Programe o seguinte código:
variavel=input('Digite algo: ')

O resultado dele vai ser:

Curso de Python online grátis
Prontinho.
Como fornecemos a string 'Digite algo: ' para a função input, foi exatamente isso que foi exibido na tela.

Em seguida, o interpretador Python simplesmente fica parado, esperando você digitar algo. Enquanto você não apertar enter, nada vai acontecer.

Quando você pressiona enter, ele continua.
No caso, nosso script serve apenas para armazenar o que digitamos na variável 'variavel', na forma de uma string.

Atenção: a função input armazena na forma string se tiver usando a versão recente do Python de número 3.x ok?

Se for versão antiga, ela vai transformar seu dado em string, inteiro ou float, dependendo do que você digitar.

Atualize seu Python! Use a versão mais nova!



Exercício com a função input() do Python

"Faça um programa que pergunte a idade do usuário, e a armazene em uma variável. Em seguida, pergunte o nome da pessoa e armazene esse dado em outra variável. Por fim, exiba uma mensagem de boas vindas ao curso Python Progressivo, dizendo nome e idade da pessoa".

Inicialmente, vamos armazenar a idade do usuário na variável 'idade', e usamos a função input para receber tal dado.

Depois, faremos o mesmo com o nome, armazenando na variável 'nome'.
Por fim, damos um print onde escrevemos uma mensagem de saudação e imprimimos também o nome e a idade da pessoa, que estão armazenadas nas variáveis 'nome' e 'idade', veja como ficou simples:
idade=input('Qual sua idade? ')
nome=input('Qual seu nome? ')

print('Olá, seu nome é ', nome, ' e tem ', idade, ' anos de idade! Seja bem vindo ao Curso Python Progressivo')

O resultado é o seguinte:



Note que digitamos o nome "Bruce Dickinson" entre aspas, isso é necessário se vocês estiver usando uma versão mais antiga do Python, se não usar, vai receber uma mensagem de erro.

Se estiver na versão mais recente (a que estou usando, no momento que escrevo este tutorial de nosso curso, é a 3.6), não precisa usar aspas, a função input passa tudo pra string.

Se quiser digitar uma string sem precisar de aspas, em versões mais antigas do Python, ao invés de input use raw_input

Pronto, finalmente você está se comunicando com o Python.
Ele espera, aguarda, fica quietinho e ansiosamente esperando que você forneça as ordens. Você que manda na p..rra toda ! Afinal, você é o programador, também conhecido como 'dono(a) do universo'.

Com grandes poderes, vem grandes responsabilidades.
Nos próximos tutoriais vamos criar uma calculadora em Python. Sinta o poder em suas mãos.