0% acharam este documento útil (0 voto)
20 visualizações31 páginas

Func

O documento discute funções em Python. Ele explica o que são funções e seu objetivo de agrupar trechos de código para reutilização. Também mostra como criar funções com e sem parâmetros e retorno, e como chamá-las de outros programas. Por fim, apresenta um exemplo passo a passo de como calcular a média final de uma disciplina usando funções.

Enviado por

Blackbird
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
20 visualizações31 páginas

Func

O documento discute funções em Python. Ele explica o que são funções e seu objetivo de agrupar trechos de código para reutilização. Também mostra como criar funções com e sem parâmetros e retorno, e como chamá-las de outros programas. Por fim, apresenta um exemplo passo a passo de como calcular a média final de uma disciplina usando funções.

Enviado por

Blackbird
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 31

Introdução a Programação

Aula 32 – Funções em Python

Fernando Kenji
[email protected]
Recapitulando: Módulos
• Arquivos em Python que possui definições e instruções específicas.

• Podemos reutilizar essas instruções em outros arquivos.


• import

• Exemplo:
### inicio do seu codigo
import <nome-do-modulo>
linha de codigo 1
linha de codigo 2
linha de codigo “x”
linha de codigo que contem uma função do módulo importado
linha de codigo “z”

Introdução à Programação | Prof. Fernando Kenji | 2022 2 de 31


Recapitulando: Módulos
• Python possui diversas funções builtins (embutidas na linguagem),
sem necessidade de importar nenhuma biblioteca para usá-las.

• Exemplos:
input()
print()
if
elif
while
etc...

Introdução à Programação | Prof. Fernando Kenji | 2022 3 de 31


O que iremos ver hoje
• Funções
• O que são
• Objetivo
• Criar uma função
• Com e Sem retorno
• Com e Sem parâmetros

• Chamada de funções por outros programas

Introdução à Programação | Prof. Fernando Kenji | 2022 4 de 31


Funções
O que são?
• Sequência de instruções agrupadas que são chamadas para realizar
algo específico.

• Exemplo:
• Realizar operações matemáticas (soma, subtração, multiplicação, divisão)
• Calcular a velocidade média
• Botão de ligar o celular
• Verificar o usuário e senha

Introdução à Programação | Prof. Fernando Kenji | 2022 5 de 31


Funções
Objetivo
• Agrupar em um único local, trechos de código que executam uma
tarefa.
• Dividir para conquistar: separar grandes soluções em pequenas
soluções.
• Facilitar o reuso de código.
• Facilitar o teste do software.
• Facilitar a manutenção de código.

Introdução à Programação | Prof. Fernando Kenji | 2022 6 de 31


Funções
Uso de funções
• Definição da função
• Quando construímos

• Chamada da função
• Quando usamos a função criada

Introdução à Programação | Prof. Fernando Kenji | 2022 7 de 31


Funções
Estrutura
• Toda função possui um NOME
def nome_da_funcao():
# todo o código identado faz parte da função
print("aprendendo funções")

• Toda função possui uma ASSINATURA


• Tipo de retorno
• Parâmetros

Introdução à Programação | Prof. Fernando Kenji | 2022 8 de 31


Funções
Estrutura
• Use o comando def para criar suas funções

def <nome_funcao>
...
...
...

Introdução à Programação | Prof. Fernando Kenji | 2022 9 de 31


Funções
Exemplo de função
• Calcular média final de uma disciplina
• Preciso passar as 4 médias obtidas nos bimestres

Introdução à Programação | Prof. Fernando Kenji | 2022 10 de 31


Funções
Exemplo de função
• Calcular média final de uma disciplina

media1 = 0.0
media2 = 0.0
media3 = 0.0
media4 = 0.0

def calcular_media_final(): Definindo a nossa primeira função


media_final=(media1+media2+media3+media4)/4
print("Media final = {}".format(media_final))

Introdução à Programação | Prof. Fernando Kenji | 2022 11 de 31


Funções
Exemplo de função
• Calcular média final de uma disciplina

media1 = 0.0
media2 = 0.0
media3 = 0.0
media4 = 0.0

def calcular_media_final(): Se tentarmos executar esse


media_final=(media1+media2+media3+media4)/4 código, nada vai acontecer! Por
print("Media final = {}".format(media_final)) quê?

Introdução à Programação | Prof. Fernando Kenji | 2022 12 de 31


Funções
Exemplo de função
• Calcular média final de uma disciplina

Para podermos usar as funções que criamos,


if __name__ == '__main__': precisamos ter uma função main, que precisa
main() ser reconhecido pelo interpretador Python.
Que é o que chamamos de função principal de
um programa.

Introdução à Programação | Prof. Fernando Kenji | 2022 13 de 31


Funções
Exemplo de função
• Calcular média final de uma disciplina

A função main é especial. Ele é


def main():
executado antes de qualquer coisa
global media1, media2, media3, media4
dentro de um arquivo .py
media1 = float(input("Qual a primeira media:"))
media2 = float(input("Qual a segunda media:"))
media3 = float(input("Qual a terceira media:"))
media4 = float(input("Qual a quarta media:"))

calcular_media_final()

Introdução à Programação | Prof. Fernando Kenji | 2022 14 de 31


Funções
Exemplo de função
• Calcular média final de uma disciplina

def main():
global media1, media2, media3, media4 Escopo de variáveis. Aqui, estamos dizendo
media1 = float(input("Qual a primeira media:")) que essas variáveis (media1, media2,
media2 = float(input("Qual a segunda media:")) media3, media4) são de um escopo maior
media3 = float(input("Qual a terceira media:")) (global), fora da função main. Neste caso,
media4 = float(input("Qual a quarta media:")) pertencem a todo o programa.

calcular_media_final()

Introdução à Programação | Prof. Fernando Kenji | 2022 15 de 31


Funções
Exemplo de função
• Calcular média final de uma disciplina

def main():
global media1, media2, media3, media4 Mas, se existissem variáveis dentro da
media1 = float(input("Qual a primeira media:")) função com nomes iguais, teríamos que
media2 = float(input("Qual a segunda media:")) informar se é local (não colocando o
media3 = float(input("Qual a terceira media:")) espoco), ou global.
media4 = float(input("Qual a quarta media:"))

calcular_media_final()

Introdução à Programação | Prof. Fernando Kenji | 2022 16 de 31


Funções
Exemplo de função
• Calcular média final de uma disciplina

def main():
global media1, media2, media3, media4
media1 = float(input("Qual a primeira media:"))
media2 = float(input("Qual a segunda media:"))
media3 = float(input("Qual a terceira media:"))
media4 = float(input("Qual a quarta media:"))

calcular_media_final() Chamando a função criada

Introdução à Programação | Prof. Fernando Kenji | 2022 17 de 31


Funções
Exercício 01
• Elaborar um programa apresenta uma tela com 4 opções, e pede para
o usuário escolher apenas uma.
• 1- Soma
• 2- Subtração
• 3- Multiplicação
• 4- Divisão

• Apresenta uma mensagem de acordo com a opção escolhida.


• Olá, vamos realizar uma <Adição><Subtração><Multiplicação><Divisão>

• Para cada operação, elabore uma função que imprime o valor de dois
números informados pelo usuário.
Introdução à Programação | Prof. Fernando Kenji | 2022 18 de 31
Funções
Funções com parâmetro
• As funções possuem uma outra característica: aceitar parâmetros

• Mas o que são parâmetros?


media1 = 0.0
media2 = 0.0
media3 = 0.0
media4 = 0.0

def calcular_media_final():
global media1, media2, media3, media4 Lembram dessa função?
media_final=(media1+media2+media3+media4)/4
print("Media final = {}".format(media_final))

Introdução à Programação | Prof. Fernando Kenji | 2022 19 de 31


Funções
Funções com parâmetro
• Podemos passar valores diretamente para a função. Ao invés de
pegarmos valores fora dela.

Isso se chama passagem de


def calcular_media_final(media1, media2, media3, media4): PARÂMETROS. Ou seja, estaremos
media_final=(media1+media2+media3+media4)/4 passando algum valor para essa
print("Media final = {}".format(media_final)) função. Neste caso, 4 valores.

Introdução à Programação | Prof. Fernando Kenji | 2022 20 de 31


Funções
Funções com retorno
• Também podemos ter uma função que verifica se o aluno foi
aprovado ou reprovado, com base na média final dele, e imprime o
resultado final.

def verificar_aprovacao(media_final):
if(media_final >= 6):
print("Aprovado")
else:
print("Reprovado")

Introdução à Programação | Prof. Fernando Kenji | 2022 21 de 31


Funções
Funções com retorno
• Também podemos ter uma função que verifica se o aluno foi
aprovado ou reprovado, com base na média final dele, e imprime o
resultado final.

def verificar_aprovacao(media_final): Mas para isso, precisamos passar


if(media_final >= 6): o valor da média final para esta
print("Aprovado") função.
else:
print("Reprovado") Mas como passar esse valor?

Introdução à Programação | Prof. Fernando Kenji | 2022 22 de 31


Funções
Funções com retorno
• Precisaremos alterar a nossa função calcular_media_final para que
ela retorne o valor dessa média.

def calcular_media_final(media1, media2, media3, media4):


media_final=(media1+media2+media3+media4)/4
return media_final

Aqui temos o retorno da função

Introdução à Programação | Prof. Fernando Kenji | 2022 23 de 31


Funções
Funções com retorno
• Nossa função main pode ficar assim:

def main():
media_final = calcular_media_final(9.0,5.0,4.0,3.0) Faz chamada a função
verificar_aprovacao(media_final) calcular_media_final que retorna
um valor

Variável que recebe o retorno da Chamando a função verificar_aprovação e


função passando como parâmetro a variável media_final

Introdução à Programação | Prof. Fernando Kenji | 2022 24 de 31


Funções
Exercício 02
• Elaborar um programa que tem uma função que recebe como
parâmetro um número, e retorna um valor booleano informando se o
número é primo ou não.

• Se for primo, retorne True. Se não, retorne False.

• Fazer uma função main que solicita um número inteiro, e faz a


chamada dessa função, passando o número digitado como
parâmetro.

Introdução à Programação | Prof. Fernando Kenji | 2022 25 de 31


Funções
Chamada de funções por outros programas
• Lembram do nossos dois jogos?
• Adivinhacao.py
• Forca.py

• Vamos organizá-los e permitir que o jogador escolha qual jogo deseja


jogar.

• Para isso, crie um programa jogos.py

Introdução à Programação | Prof. Fernando Kenji | 2022 26 de 31


Funções
Chamada de funções por outros programas
jogos.py
import adivinhacao
import forca

print("*********************************")
print("*******Escolha o seu jogo!*******")
print("*********************************")

print("(1) Forca (2) Adivinhação")


jogo = int(input("Qual jogo? "))

if (jogo == 1):
print("Jogando forca")
forca.jogar()
elif (jogo == 2):
print("Jogando adivinhação")
adivinhacao.jogar()
Introdução à Programação | Prof. Fernando Kenji | 2022 27 de 31
Funções
Chamada de funções por outros programas
jogos.py
import adivinhacao
import forca

print("*********************************") Execute esse programa!


print("*******Escolha o seu jogo!*******") Deu certo?
print("*********************************")

print("(1) Forca (2) Adivinhação")


jogo = int(input("Qual jogo? "))

if (jogo == 1):
print("Jogando forca")
forca.jogar()
elif (jogo == 2):
print("Jogando adivinhação")
adivinhacao.jogar()
Introdução à Programação | Prof. Fernando Kenji | 2022 28 de 31
Funções
Chamada de funções por outros programas
jogos.py
import adivinhacao
import forca

print("*********************************") Como a estrutura do jogo está


print("*******Escolha o seu jogo!*******") toda na parte principal do
print("*********************************") programa, ambos os jogos serão
executados ao serem importados!
print("(1) Forca (2) Adivinhação")
jogo = int(input("Qual jogo? "))

if (jogo == 1):
print("Jogando forca")
forca.jogar()
elif (jogo == 2):
print("Jogando adivinhação")
adivinhacao.jogar()
Introdução à Programação | Prof. Fernando Kenji | 2022 29 de 31
Funções
Chamada de funções por outros programas
forca.py
adivinhacao.py

def jogar(): Precisamos melhorar cada


programa de jogo.
#### código do jogo aqui
1. Criar uma função para colocar
toda a lógica do jogo.
2. Criar uma função principal em
if(__name__ == "__main__"): cada jogo, chamando a função
jogar()
jogar().

Introdução à Programação | Prof. Fernando Kenji | 2022 30 de 31


Dúvidas?

v Nunca deixe de aprender


por não ter perguntado.

v Use o ambiente virtual da


turma sempre que for
preciso.

Introdução à Programação | Prof. Fernando Kenji | 2022 31 de 31

Você também pode gostar