Python para todos!
  • Apresentação e Links Úteis
    • 😁Seja bem vinde!
    • ⚠️Pre Requisitos
    • ❤️Seu suporte é muito importante!
  • Capítulo 1 - Introdução
    • 🎦O que é Programação?
  • Capítulo 2 - Conceitos Básicos de Lógica de programação
    • ➡️Introdução
    • ▶️O que são variáveis?
    • ▶️Os operadores Lógicos
    • ▶️O Famoso "Se"
    • ▶️Executar e Repetir
  • Capítulo 3 - Introdução ao Python e Comando Básicos
    • ▶️Instalando o Python
    • ▶️Meu primeiro programa
    • ▶️Variáveis em Python
    • ▶️O Comando Input
    • ▶️If. o "Se" do Python
    • ▶️While, o "Enquanto' do Python
    • ▶️Conversa, exercícios e conclusão do capítulo.
  • Resolução dos exercícios do capítulo 3 e dicas de programação
    • ✅Correção dos exercícios
  • Capítulo 4 - Introdução as funções e mais atividades!
    • ▶️Introdução as funções
    • ▶️Recriando a calculadora, porém com funções!
  • Capítulo 5 - Vamos falar de Bibliotecas
    • ▶️O que são as bibliotecas do Python
    • ▶️PIP, não é Picture-in-picture!
    • ▶️Como utilizar o PIP
Powered by GitBook
On this page
  1. Capítulo 4 - Introdução as funções e mais atividades!

Recriando a calculadora, porém com funções!

Vamos criar uma calculadora um pouco mais avançada!

PreviousIntrodução as funçõesNextO que são as bibliotecas do Python

Last updated 1 year ago

Lembra do nosso exemplo no módulo "" onde criamos uma calculadora que retornava as operações básicas como soma, subtração, multiplicação e divisão?

Vamos agora recriar essa calculadora, porém, vamos utilizar as funções.

Quando criamos uma função, queremos criar algo que possamos utilizar mais tarde em outro momento no programa, porém sem precisarmos escrever tudo novamente.

Nesse caso, a calculadora poderá ser utilizada em qualquer situação que você precise executar esses cálculos mais simples.

Vamos primeiro ao código e depois faremos a nossa explicação passo a passo:

#Função Calculadora

#Aqui declaramos as funções da nossa "calculadora".
#Essas funções recebem 3 valores: x, y e operacao.
#E retornam o resultado do cálculo.

def calculadora(x, y, operacao):

    #A lógica da calculadora passa a ficar dentro da funçao
    if operacao == 1:
        resultado = soma(numero1, numero2)
        return(resultado)

    elif operacao == 2:
        resultado = subtracao(numero1, numero2)
        return(resultado)

    elif operacao == 3:
        resultado = multiplicacao(numero1, numero2)
        return(resultado)

    elif operacao == 4:
        resultado = divisao(numero1, numero2)
        return(resultado)

    else:
        return(False)

#Inicio do Programa.
#Vamos agora iniciar o nosso programa:

while True:

    #Vamos perguntar ao usuário o que ele deseja fazer
    operacao = int(input("Qual operação deseja realizar? Soma(1) Subtração(2) Multiplicação(3) Divisão(4) Sair(0): "))

    #Cas o usuário deseje sair, vamos fechar antes de perguntar os números
    if operacao == 0:
        break

    #Vamos pedir para o usuário digitar os números que ele deseja.
    numero1 = int(input("Entre com um numero: "))
    numero2 = int(input("Entre com outro numero: "))

    #Agora vamos chamar a nossa calculadora
    resultado = calculadora(numero1, numero2, operacao)

    #Imprimindo o resultado se for válido
    if resultado != False:
        print(resultado)
    else:
        print("comando inválido")

Agora, dentro da nossa calculadora, ao invés de termos o calculo sendo realizado dentro do while, temos apenas um "atalho" chamado calculadora().

Criamos esse "atalho" que é a função chamada calculadora(), recebendo 3 valores: x, y e operacao.

Agora, falando especificamente da função calculadora():

def calculadora(x, y, operacao):

    #A lógica da calculadora passa a ficar dentro da funçao
    if operacao == 1:
        resultado = soma(numero1, numero2)
        return(resultado)

    elif operacao == 2:
        resultado = subtracao(numero1, numero2)
        return(resultado)

    elif operacao == 3:
        resultado = multiplicacao(numero1, numero2)
        return(resultado)

    elif operacao == 4:
        resultado = divisao(numero1, numero2)
        return(resultado)

    else:
        return(False)

Você pode observar que temos um if que vai se utilizar do valor que a função calculadora() recebeu na variável operacao.

E de acordo com o valor recebido, a nossa função, irá realizar uma operação diferente com os valores de x e y, retornando a variável, resultado.

Porém, caso o valor de operacao não seja nenhum dos esperados pelo if, a função irá retornar False (falso).

Sabendo isso, já no nosso programa principal, entramos com os valores para a função da seguinte maneira:

#Agora vamos chamar a nossa calculadora
resultado = calculadora(numero1, numero2, operacao)

onde as variáveis numero1, numero2 e operacao passam a ser respectivamente x, y e operacao na função.

Obs.: Apesar da variável operacao ter exatamente o mesmo nome tanto na função, quanto no programa, o programa entende que elas são variáveis diferentes, pois o programa considera uma função como um comando e não como parte do código. (Explicando de uma maneira fáci), então não se preocupe se tiver em usar o mesmo nome de variável nesses casos.

E ao final, exibimos o resultado do nosso calculo se o valor for válido, ou seja, se o resultado da função calculadora() não foi False.

#Imprimindo o resultado se for válido
if resultado != False:
    print(resultado)
else:
    print("comando inválido")

Ou seja, agora temos uma função que pode ser utilizada sempre que precisarmos realizar uma conta matemática simples de 2 números.

Você pode guardar o código dessa função e utilizar em qualquer programa que necessite disso. Só precisaria escrever a função no outro programa.

Dicas para melhor organizar o seu código:

Você pode ter observado que o código pode ficar um pouco confuso quando temos uma função. Por isso que temos 2 dicas que podem ajudar.

1ª Dica:

Você pode utilizar comentários para separar as funções do seu código principal, como por exemplo:

#-----------------------------------------
# Funções
#-----------------------------------------

def alguma_coisa():
    #codigo
    
#-----------------------------------------
# Programa
#-----------------------------------------  

#inicio do programa 

2ª Dica: (Utilizaremos essa a partir de agora!)

Existem diversas boas práticas que temos dentro da área de TI que são como normas não escritas, mas que são utilizadas por todos para facilitar a leitura.

Uma boa prática no Python é utilizar um if para inicialização do código principal, da seguinte maneira:

if __name__ == "__main__":

Esse if é utilizado no Python para verificar se o arquivo está sendo executado diretamente.

Quando um programa em python é executado, ele cria uma váriavel especial chamada __name__ com o valor __main__ e podemos utilizar esse conhecimento para criar esse if, que seria como um teste para saber se realmente o programa está sendo executado diretamente.

Ai você me pergunta: "O que significa esse diretamente?"

Significa que estamos executando o arquivo exato onde esse código se encontra.

Nos próximo módulo, aprenderemos que é possível importar códigos e comandos de bibliotecas.

Essas bibliotecas são como expansões ou DLCs do Python, que permitem que façamos muito mais coisas com o Python.

Então, em resumo, esse comando: if __name__ == "__main__": testa exatamente se estamos executando o nosso programa como um programa ou como uma biblioteca.

Por isso, é muito comum vermos programas em Python que no seu arquivo principal possuem esse comando.

Apesar de que, em programas mais simples, esse comando é totalmente desnecessário.

Nos próximos módulos, começaremos a aplicar essa boa prática em todos os nossos exemplos, então se atente a isso!

Próximos Passos:

No próximo capítulo aprenderemos como trabalhar com bibliotecas em python.

▶️
If. o "Se" do Python