Informática, perguntado por alencarmatheus310, 3 meses atrás

Enunciado: Imagina-se que você e sua equipe foram contratados por um restaurante que serve feijoada para desenvolver a solução de software. Você ficou encarregado da parte de retirar pedido por parte do cliente.
O valor que a empresa cobra por feijoada é dado pela seguinte equação:
total=(volume*opção)+adional(is)
Em que cada uma das variáveis que compõe o preço total é quantizada da seguinte maneira

*IMAGEM*


Elabore um programa em Python que:
1. Pergunte o volume (em ml).Se digitar um valor não numérico e/ou volume for menor/maior que o limite aceito repetir a pergunta;
2. Pergunte a opção da feijoada. Se digitar uma opção não válida deve repetir a pergunta
3. Pergunte o acompanhamento. Deve-se perguntar se o usuário quer mais um acompanhamento até digitar a opção 0
4. Encerre o total a ser pago com base na equação desse enunciado;
5. Deve-se codificar uma função volumeFeijoada (EXIGÊNCIA 1 de 3);
o Deve-se perguntar dentro da função o volume da porção (em ml);
o Deve-se ter um if/else ou if/elif ou if/else/elif para verificar se o usuário não digitou um volume fora da faixa com que o restaurante trabalha;
o Deve-se ter try/except para o caso do usuário digitar um valor não numérico;
o Deve-se retornar o valor em (RS) conforme a Quadro 1
6. Deve-se codificar uma função opcaoFeijoada (EXIGÊNCIA 2 de 3);
o Deve-se perguntar dentro da função a opção desejada;
o Deve-se ter um if/elif/else para verificar as opções possíveis ou não;
o Deve-se retornar o multiplicador conforme o Quadro 2
7. Deve-se codificar uma função acompanhamentoFeijoada (EXIGÊNCIA 3 de 3);
o Deve-se perguntar dentro se deseja ou não mais algum acompanhamento
o Deve-se ter um if/elif/else para verificar as opções possíveis ou não;
o Deve-se retornar o multiplicador conforme o Quadro 3
8. Colocar um exemplo de SAIDA DE CONSOLE um pedido com volume, opção e 2 acompanhamentos válidos
9. Colocar um exemplo de SAIDA DE CONSOLE com o tratamento de erro quando digitado um valor não numérico é digitado e uma opção não permitida no menu opção de feijoada

Anexos:

juaolkdn: Na estrutura de condição que você fez (if, elif, else), o único valor que terá return será o 0, que é o pra finalizar e trazer os resultados, as demais condições você coloca o acumulador recebendo o valor dele mesmo + 1, por exemplo: acumulador = acumulador + 1, que também é a mesma coisa de acumulador += 1.
juaolkdn: Perdão, no acumulador = acumulador + (o valor do acompanhamento) e não 1 como eu disse ali em cima, tem que por o valor do acompanhamento depois do +
carinedockhorn03: olá fiz seguindo a sua dicas mas assim q eu coloco o primeiro acompanhamento ele pede o próximo mas encerra a conta sem somar o segundo acompanhamento o que mais devo colocar na minha funçao de acompanhamento?
saragewehr12345: Olá, já na minha, acompanhamento fica zero... também gostaria da sua ajuda!
analeticiaatb: Quem tiver precisando de ajuda, entre em contato pelo meu telefone: 43 9919-5420. Diz que veio do Brainly
sgmg8cxxbg: top eu estava com dificuldade, em finalizar o pedido, me ajudou muito
DaraSouthier: Se alguém qesta fazendo em linguagem python, eu tenho os codigos prontos 43 9919-5420. Diz que veio do Brainly
DaraSouthier: Se alguém qesta fazendo em linguagem python, eu tenho os codigos prontos, me chame no whats que eu passo ou posso tbm tirar duvidas: 49 999918414. Diz que veio do Brainly

Soluções para a tarefa

Respondido por jacksonaires
12

Resposta:

Seu_Nome = "Seu Nome"  # identificador pessoal

print(f"Bem vindo a loja do {Seu_Nome}\n")  # identificador pessoal

opcoes = {  # INICIO DO CÓDIGO PRINCIPAL

   "b": ["Básica (Feijão + Paiol + Costelinha)", 1],

   "p": ["Premium (Feijão + Paiol + Costelinha + Partes de porco)", 1.25],

   "s": ["Suprema (Feijão + Paiol + Costelinha + Partes do porco + Charque + Calabresa + Bacon)", 1.50]

}

acompanhamentos = {

   0: ["Não quero mais acompanhamentos (encerrar pedido)", 0],

   1: ["200g de arroz", 5],

   2: ["150g de farofa especial", 6],

   3: ["100g de couve cozida", 7],

   4: ["1 laranja descascada", 3]

}

def volume():  # Função que solicita e valida o volume

   valor = 0

   while True:

       try:

           volume = float(input("Entre com a quantidade que deseja (ml): ").strip().upper())

           if volume < 300 or volume > 5000:

               print(

                   "\nNão aceitamos porções menores que 300ml ou maiores que 5L. Faça uma nova tentativa de escolha!\n")

           else:

               valor = volume * 0.08

               break

       except ValueError:

           print("\nDigite um volume válido.\n")

   return valor

def opcaoFeijoada():  # Função que solicita e valida a opção

   multiplicador = None

   while True:

       try:

           print("\nEntre com a opção de Feijoada:")

           for key, values in opcoes.items():

               print(f"{key} - {values[0]}")

           opcao = input().strip().lower()

           if opcao not in opcoes.keys():

               print("\nOpção inválida\n")

           else:

               multiplicador = opcoes[opcao][1]

               break

       except ValueError:

           print("\nDigite um opcao válida.\n")

   return multiplicador

def acompanhamentoFeijoada():  # Função que solicita e valida os acompanhamentos

   total_acompanhamento = 0

   while True:

       try:

           print("\nDeseja mais algum acompanhamento:")

           for key, values in acompanhamentos.items():

               print(f"{key} - {values[0]}")

           opcao = int(input())

           if opcao not in acompanhamentos.keys():

               print("\nOpção inválida\n")

           elif opcao == 0:

               break

           else:

               total_acompanhamento += acompanhamentos[opcao][1]

       except ValueError:

           print("\nDigite um acompanhamento válido.\n")

   return total_acompanhamento

valor = volume()

opcao = opcaoFeijoada()

adicionais = acompanhamentoFeijoada()

total = (valor * opcao) + adicionais

print(

   f"\nO valor total a ser pago pelo seu pedido é de (R$): {total:.2f} (Volume = {valor:.2f} * opcao = {opcao:.2f} + Acompanhamento = {adicionais:.2f})")

Explicação:
Tirei 100 nesse trabalho.
Não esquecer de usar o identificar pessoal.
obs: não tirar os underline"_" do identificador pessoal. Boa sorte!

Perguntas interessantes