Aqui nesta página você encontra o gabarito dos exercícios do Capítulo 08 - Funções.
Exercício 01:
def mostrar_mensagem():
"""Mostrar a mensagem."""
print('Neste capítulo estou aprendendo sobre funções!')
mostrar_mensagem()
Exercício 02:
def livro_favorito(titulo):
"""Mostrar qual é o livro favorito."""
print(f'Meu livro favorito é: {titulo.title()}.')
livro_favorito('jogos vorazes')
Exercício 03:
def fazer_camisa(texto, tamanho):
"""Criar a camisa com o texto e o tamanho."""
print(f'O texto da camisa será: {texto}')
print(f'O tamanho da camisa é: {tamanho.title()}.')
fazer_camisa('Eu amo bioinformática', 'g')
fazer_camisa(tamanho='m', texto='Só vim pela comida')
Exercício 04:
def fazer_camisa(texto='Eu amo Python', tamanho='g'):
"""Criar a camisa com o texto e o tamanho."""
print(f'O texto da camisa será: {texto}')
print(f'O tamanho da camisa é: {tamanho.title()}.')
fazer_camisa()
fazer_camisa(tamanho='m')
fazer_camisa(texto='Eu amo pizza', tamanho='pp')
Exercício 05:
def descrever_cidade(cidade, pais='brasil'):
"""Mostrar a cidade e qual país ela pertence."""
print(f'A cidade {cidade.title()} está no país {pais.title()}.')
descrever_cidade('curitiba')
descrever_cidade('são paulo')
descrever_cidade(cidade='roma', pais='itália')
Exercício 06:
def cidade_pais(cidade, pais):
"""Retorna a cidade e o país que ela pertence."""
resposta = f'"{cidade.title()}, {pais.title()}"'
return resposta
resposta = cidade_pais('paris', 'frança')
print(resposta)
resposta = cidade_pais('lisboa', 'portugal')
print(resposta)
resposta = cidade_pais('moscou', 'rússia')
print(resposta)
Exercício 07:
def criar_album(nome, artista, musicas=None):
"""Retorna um dicionário com as informações do álbum de música."""
album = {'nome': nome.title(), 'artista': artista.title()}
if musicas:
album['musicas'] = musicas
return album
album = criar_album('please, please me', 'the beatles')
print(album)
album = criar_album('valley of the damned', 'dragonforce', musicas=10)
print(album)
album = criar_album('speak now', 'taylow swift')
print(album)
Exercício 08:
def criar_album(nome, artista):
"""Retorna um dicionário com as informações do álbum de música."""
album = {'nome': nome.title(), 'artista': artista.title()}
return album
while True:
print('\nInsira as informações do álbum: ')
print('(Aperte "q" para sair)')
nome = input('Digite o nome do álbum: ')
if nome == 'q':
break
artista = input('Digite o nome do artista: ')
if artista == 'q':
break
album = criar_album(nome, artista)
print(album)
Exercício 09:
def mostrar_mensagens(mensagens):
"""Mostrar cada mensagem presente na lista."""
for mensagem in mensagens:
print(mensagem)
# --- Lista com as mensagens --- #
mensagens = ['Olá, mundo!', 'Estou aprendendo Python!', 'Eu amo pizza!']
# --- Chamar a função --- #
mostrar_mensagens(mensagens)
Exercício 10:
def enviar_mensagens(mensagens, mensagens_enviadas):
"""Mover as mensagens mostradas para a lista das mensagens enviadas."""
while mensagens:
mensagem_atual = mensagens.pop()
print(mensagem_atual)
mensagens_enviadas.append(mensagem_atual)
# --- Lista com as mensagens e as mensagens enviadas --- #
mensagens = ['Olá, mundo!', 'Estou aprendendo Python!', 'Eu amo pizza!']
mensagens_enviadas = []
# --- Chamar a função --- #
enviar_mensagens(mensagens, mensagens_enviadas)
# --- Verificar se as mensagens foram enviadas --- #
print(f'\nLista "mensagens": {mensagens}')
print(f'Lista "mensagens_enviadas": {mensagens_enviadas}')
Exercício 11:
def enviar_mensagens(mensagens, mensagens_enviadas):
"""Mover as mensagens mostradas para a lista das mensagens enviadas."""
while mensagens:
mensagem_atual = mensagens.pop()
print(mensagem_atual)
mensagens_enviadas.append(mensagem_atual)
# --- Lista com as mensagens e as mensagens enviadas --- #
mensagens = ['Olá, mundo!', 'Estou aprendendo Python!', 'Eu amo pizza!']
mensagens_enviadas = []
# --- Chamar a função --- #
enviar_mensagens(mensagens[:], mensagens_enviadas)
# --- Verificar se as mensagens foram enviadas e a original se manteve --- #
print(f'\nLista "mensagens": {mensagens}')
print(f'Lista "mensagens_enviadas": {mensagens_enviadas}')
Exercício 12:
def criar_sanduiches(*recheios):
"""Mostrar quais são os saduíches que estão sendo montados."""
print('\nSanduíches que estãos sendo montados:')
for recheio in recheios:
print(f'- {recheio}')
# --- Chamar a função --- #
criar_sanduiches('atum')
criar_sanduiches('vegetariano', 'carne', 'frango')
criar_sanduiches('atum', 'queijo')
Exercício 13:
def criar_perfil(nome, sobrenome, **info_usuario):
"""Criar um dicionário com as informações do usuário."""
info_usuario['nome'] = nome
info_usuario['sobrenome'] = sobrenome
return info_usuario
# --- Criar o perfil --- #
perfil = criar_perfil(
'gui',
'trev',
mestrado='bioinformática',
passatempo='estudar música'
)
print(perfil)
Exercício 14:
def criar_carro(marca, modelo, **opcoes):
"""Criar um dicionário com as informações do carro."""
dic_carro = {
'marca': marca.title(),
'modelo': modelo.title()
}
# --- Colocar cada opção e o valor dessa opção no dicionário --- #
for opcao, valor in opcoes.items():
dic_carro[opcao] = valor
return dic_carro
# --- Chamar a função --- #
volvo_s60 = criar_carro('volvo', 's60', cor='cinza', alarme=True)
print(volvo_s60)
fluence = criar_carro('renault', 'fluence', ano=2012, cor='preto', multimidia=True)
print(fluence)
Exercício 15:
Arquivo funcoes_impressao.py
def imprimir_modelos(modelos_impressao, modelos_prontos):
"""Move cada modelo a ser impresso para a lista de modelos prontos."""
while modelos_impressao:
impressao_atual = modelos_impressao.pop()
print(f'Imprimindo modelo: {impressao_atual}')
modelos_prontos.append(impressao_atual)
def mostrar_modelos_prontos(modelos_prontos):
"""Mostra os modelos prontos."""
print('\nOs seguintes modelos foram impressos:')
for modelo in modelos_prontos:
print(modelo)
Arquivo modelos_impressos.py
from funcoes_impressao import imprimir_modelos, mostrar_modelos_prontos
# --- Modelos para impressão --- #
modelos_impressao = ['dinossauro', 'cubo', 'pirâmide']
modelos_prontos = []
# --- Chamar as funções --- #
imprimir_modelos(modelos_impressao, modelos_prontos)
mostrar_modelos_prontos(modelos_prontos)