Escolar Documentos
Profissional Documentos
Cultura Documentos
Enunciado: Imagina-se que você é um dos programadores responsáveis pela construção de app de vendas para uma determinada empresa X que vende em atacado. Uma das
estratégias de vendas dessa empresa X é dar desconto maiores por unidade as informações abaixo:
Figura 1: Exemplo de saída de console que o aluno deve fazer. Em que se perguntar o valor do produto (pode ser qualquer valor) a quantidade (deve ser maior que 200) e apresenta o valor
final sem o desconto e com o desconto.
Código da Questão 1:
def calc_desconto (qtd,valor): #função de calculo de valor de desconto
total=qtd * valor
if qtd < 200 :
total_desconto = total
elif 200 <= qtd < 1000 :
total_desconto = total *0.95
elif 1000 <= qtd < 2000 :
total_desconto = total * 0.90
else:
total_desconto = total * 0.85
return total_desconto
print (f'o valor sem desconto : {valor * qtd}') # print do valor da compra sem desconto
print (f'o valor com desconto : {calc_desconto(qtd,valor)}') # chamada da função e retorno do valor # com desconto
Saída do Console da Questão 1:
QUESTÃO 2 de 4 - Conteúdo até aula 04
Enunciado: Você e sua equipe de programadores foram contratados para desenvolver um app de vendas para uma sorveteria. Você ficou com a parte de desenvolver a interface do
cliente para retirada do produto.
A Sorveteria possui seguinte relação:
1 bola de sorvete no sabor tradicional (tr) custa 6 reais, no sabor premium (pr) 7 reais e no especial (es) 8 reais;
2 bolas de sorvete no sabor tradicional (tr) custam 11 reais, no sabor premium (pr) 13 reais e no especial (es) 15 reais;
3 bolas de sorvete no sabor tradicional (tr) custam 15 reais, no sabor premium (pr) 18 reais e no especial (es) 21 reais;
Figura 2: Exemplo de saída de console que o aluno deve fazer. Em que se perguntar o sabor do sorvete (tradicional, premium ou especial) a nº de bolas de sorvete (1,2 ou 3). Há uma tentativa
de pedido que se erro o sabor do sorvete e outra que se errou o nº de bolas de sorvete. Há também um pedido com 2 sorvetes com diferentes quantidades de bola de sorvete e sabores diferentes.
Código da Questão 2:
# Lista contendo as linhas dos boas vindas do programa
boasvindas = ['Bem-vindo a Sorveteria do Cesar Carlos Olieveira Mesquita',
'------------------------------------- CARDAPIO ---------------------------------',
'| Num. de Bolas | Sabor Tradicional (tr) | Sabor Premium (pr) | Sabor Especial |',
'| 1 | R$ 6,00 | R$ 7,00 | R$ 8,00 |',
'| 2 | R$ 11,00 | R$ 13,00 | R$ 15,00 |',
'| 3 | R$ 15,00 | R$ 18,00 | R$ 21,00 |',
'--------------------------------------------------------------------------------']
# Dicionário contendo o código dos sabores, sabores e uma lista contendo os valores de 1, 2, 3 bolas
sorvetes = {'tr': ['TRADICIONAL', [6.00, 11.00, 15.00]], 'pr': ['PREMIUM', [7.00, 13.00, 18.00]], 'es': ['ESPECIAL', [8.00, 15.00, 21.00]]}
# declaração da varíavel responsável pelo loop while do armazenamento dos items do pedido, iniciando ele em 's' para dar condicao do inicio do loop
# while.
pedido = 's'
while sabor not in sorvetes.keys(): # loop while iterando nas chaves do dicionário dos sorvetes
sabor = input("Entre com o sabor desejado (tr/es/pr): ") # entrada do sabor
if sabor not in sorvetes.keys(): # retorno caso o pedido não esteja nas chaves do dicionário dos sorvetes
print("Sabor invalido. Tente novamente!")
while numbolas not in range(1, 4): # loop while condicionado ao numero de bolas disponíveis
try: # Tentativa par checar se o item é númerico ou n
numbolas = int(input('Entre com a quantidade de bolas (1/2/3): ')) # entrada do número de bolas desejado
except ValueError: # except de Value error caso o numero não seja
pass
if numbolas not in range(1, 4): # printa que o número de boas é invalido e pede a entrada novamente
print('Número de bolas de sorvete invalido, Tente novamente!')
# Pergunta se deseja adcionar mais algum sorvete e ai o programa volta a questionar tudo denovo e incrementa ao valort total do pedido
pedido = input("Deseja mais algum sorvete? (s/digite outra tecla)? ")
♦ Para o adicional de cortar unhas (1) do cachorro é cobrado um valor extra de 10 reais;
♦ Para o adicional de escovar os dentes (2) do cachorro é cobrado um valor extra de 12 reais;
♦ Para o adicional de limpar as orelhas (3) do cachorro é cobrado um valor extra de 15 reais;
♦ Para o adicional de não querer mais nada (0) é cobrado um valor extra de 0 reais;
Figura 3: Exemplo de saída de console que o aluno deve fazer. Em que se perguntar o peso do cachorro o tipo de pelo (c, m ou l). Há um pedido que inicialmente o usuário digitou um valor não
numérico (a) e depois um valor acima de 50 (70). Na sequência, o usuário digitou um valor de peso válido, de tipo de peso válido e 2 adicionais.
Código da Questão 3:
# Função que vai receber o peso do cachorro e retornar o valor base
def cachorro_peso():
peso = 50 # start do valor do peso em 50 par poder entrar no loop while
while peso >= 50: # loop while para que enquanto o peso for maior que 50 a função continua a questionar o peso do animal
try: # um try/except para não brecar o programa em caso de um valor não numérico
peso = int(input("Entre com o peso do cachorro: "))
except ValueError:
pass
if peso >= 50: # retorno de que o peso do cachorro é maior que o comportado pela empresa
print("Não aceitamos cachorros tão grandes.")
print("Por favor entre com o peso do cachorro novamente.")
if peso < 3: # cheagem com ifs para retornar o valor base de acordo com o peso do animal
return 40.00
elif 3 <= peso < 10:
return 50.00
elif 10 <= peso < 30:
return 60.0
elif 30 <= peso < 50:
return 70.00
# Função que vai receber o tamanho do pelo do cachorro e vai retornar o multiplicador do valor bases
def cachorro_pelo():
pelos = ''
pelos_dict = {"c": 1.00, "m": 1.50, "l": 2.00} # dicionário armazeando os multiplicadores de acordo com a opção selecionada
while pelos not in pelos_dict.keys(): # loop while que só será brecado somente após receber uma opção presente nas chaves do dicionário
pelos = input("Entre Como pelo do cachorro\nc - Pelo Curto\nm - Pelo Médio\nl - Pelo longo\n")
if pelos not in pelos_dict.keys(): # if para retornar em caso de opção que invalida
print("Opção invalida. Tente novamente.")
return pelos_dict[pelos]
# Função que vai receber e incrementar a quantidade de opções extras e retornar o total
def cachorro_extra():
valores = [10.00, 12.00, 15.00] # lista armazenando os valores dos serviços extra
extra = 0.00 # variável responsável por armazenar o valor total
opcao = 1 # valor inicial da opção para iniciar o loop while
while opcao != 0: # loop while que vai ficar recebendo os serviços extras
print("Deseja adcionar mais algum serviço.")
print("1 - Corte de Unhas - R$ 10,00")
print("2 - Escovar dentes - R$ 12,00")
print("3 - Limpeza de Orelhas - R$ 15,00")
print("0 - Não desejo mais nada")
opcao = int(input(""))
extra += valores[opcao - 1] # incremento do total com o valor extra
return extra
1) Cadastrar Colaborador
2) Consultar Colaborador
1. Consultar Todos
2. Consultar por Id;
3. Consultar por Setor;
4. Retornar ao menu;
3) Remover Colaborador
4) Encerrar Programa
Figura 4.1: Exemplo de saída de console que o aluno deve fazer. Em que se cadastra 3 colaboradores, sendo 2 num setorX e outro no setorY.
Figura 4.2: Exemplo de saída de console que o aluno deve fazer. Em que se consulta todos os colaboradores.
Figura 4.3: Exemplo de saída de console que o aluno deve fazer. Em que se consulta o colaborador de id 2.
Figura 4.4: Exemplo de saída de console que o aluno deve fazer. Em que se consulta os colaboradores do setor setorX.
Figura 4.5: Exemplo de saída de console que o aluno deve fazer. Em que se removeu o colaborador de id 2 e na sequência, consultou-se todos os colaboradores.
Código da Questão 4:
lista_colaboradores = []
id_global = 0
opcao_global = 5
def cadastrar_colaborador(id):
dicts = {}
dicts['id'] = int(id)
dicts["nome"] = input("Por favor entre com o nome: ")
dicts["setor"] = input("Por favor entre com o setor: ")
dicts["pagamento"] = float(input("Por favor entre com o pagamento (R$): "))
lista_colaboradores.append(dicts)
def consultar_colaborador():
opcao = 5
while opcao != 4:
print('Escolha a opção desejada:')
print('1 - Consultar Todos os Colaboradores')
print('2 - Consultar Colaborador por id')
print('3 - Consultar Colaboradores por setor')
print('4 - retornar')
opcao = int(input(''))
if opcao == 1:
print('-------------------')
for n in lista_colaboradores:
print(f'id: {n["id"]}')
print(f'nome: {n["nome"]}')
print(f'setor: {n["setor"]}')
print(f'pagamento: {n["pagamento"]}')
print('-------------------')
if opcao == 2:
id = int(input('Digite o id do colaborador: '))
print('-------------------')
for n in lista_colaboradores:
if n['id'] == id:
print(f'id: {n["id"]}')
print(f'nome: {n["nome"]}')
print(f'setor: {n["setor"]}')
print(f'pagamento: {n["pagamento"]}')
else:
pass
print('-------------------')
if opcao == 3:
setor = input('Digite o setor do colaborador: ')
for n in lista_colaboradores:
if n['setor'] == setor:
print('-------------------')
print(f'id: {n["id"]}')
print(f'nome: {n["nome"]}')
print(f'setor: {n["setor"]}')
print(f'pagamento: {n["pagamento"]}')
print('-------------------')
else:
pass
def remover_colaborador():
id = int(input("Digite o id do colaborador a ser removido: "))
for n in lista_colaboradores:
if n['id'] == id:
lista_colaboradores.remove(n)
while opcao_global != 4:
print('*************************************************************')
print('------------------------MENU PRINCIPAL-----------------------')
print('Escolha a opção desejada:')
print('1 - Cadastrar Colaborador')
print('2 - Consultar Colaborador(es)')
print('3 - Remover Colaborador')
print('4 - Sair')
opcao_global = int(input(''))
if opcao_global == 1:
print('*************************************************************')
print('------------------MENU CADASTRAR COLABORADOR-----------------')
id_global = int(input("id do colaborador "))
cadastrar_colaborador(id_global)
if opcao_global == 2:
print('*************************************************************')
print('------------------MENU CONSULTAR COLABORADOR-----------------')
consultar_colaborador()
if opcao_global == 3:
print('*************************************************************')
print('-------------------MENU REMOVER COLABORADOR------------------')
remover_colaborador()
Saída do Console da Questão 4:
------------------------MENU PRINCIPAL-----------------------
Escolha a opção desejada:
1 - Cadastrar Colaborador
2 - Consultar Colaborador(es)
3 - Remover Colaborador
4 - Sair
1
*************************************************************
------------------MENU CADASTRAR COLABORADOR-----------------
id do colaborador 1
Por favor entre com o nome: colaboradorA
Por favor entre com o setor: setorX
Por favor entre com o pagamento (R$): 11000
*************************************************************
------------------------MENU PRINCIPAL-----------------------
Escolha a opção desejada:
1 - Cadastrar Colaborador
2 - Consultar Colaborador(es)
3 - Remover Colaborador
4 - Sair
1
*************************************************************
------------------MENU CADASTRAR COLABORADOR-----------------
id do colaborador 2
Por favor entre com o nome: colaboradorB
Por favor entre com o setor: setorX
Por favor entre com o pagamento (R$): 12000
*************************************************************
------------------------MENU PRINCIPAL-----------------------
Escolha a opção desejada:
1 - Cadastrar Colaborador
2 - Consultar Colaborador(es)
3 - Remover Colaborador
4 - Sair
1
*************************************************************
------------------MENU CADASTRAR COLABORADOR-----------------
id do colaborador 3
Por favor entre com o nome: colaboradorC
Por favor entre com o setor: setorY
Por favor entre com o pagamento (R$): 13000
*************************************************************
------------------------MENU PRINCIPAL-----------------------
Escolha a opção desejada:
1 - Cadastrar Colaborador
2 - Consultar Colaborador(es)
3 - Remover Colaborador
4 - Sair
3
*************************************************************
-------------------MENU REMOVER COLABORADOR------------------
Digite o id do colaborador a ser removido: 1
*************************************************************
------------------------MENU PRINCIPAL-----------------------
Escolha a opção desejada:
1 - Cadastrar Colaborador
2 - Consultar Colaborador(es)
3 - Remover Colaborador
4 - Sair