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

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 tabela com o código, descrição, tamanhos e os valores de sorvete:
Código Descrição Tamanho P(500 ml) Tamanho M(1000 ml) Tamanho G
TR Sabores Tradicionais R$ 6,00 R$ 10,00 R$ 18,00
ES Sabores Especiais R$ 7,00 R$ 12,00 R$ 21,00
PR Sabores Premium R$ 8,00 R$ 14,00 R$ 24,00

Elabore um programa em Python que:
1. Entre com o tamanho do pote de sorvete desejado;
2. Entre com o código do sorvete desejado;
3. Pergunte se o cliente quer pedir mais alguma coisa (se sim repetir a partir do item 1. Caso contrário ir para próximo passo);
4. Encerre a conta do cliente com o valor total;
5. Deve-se utilizar estruturas if, elif e else (EXIGÊNCIA 1 de 3);
6. Se a pessoa digitar um TAMANHO de sorvete e/ou código diferente dos da tabela printar na tela: ‘TAMANHO ou CÓDIGO inválido(s)’ e voltar para o menu (EXIGÊNCIA 2 de 3);
7. Deve-se utilizar while, break, continue (EXIGÊNCIA 3 de 3);
o (DICA: utilizar o continue dentro else que verifica a opção inválida)
o (DICA: utilizar o break dentro if que verifica a opção sair)
8. Colocar um exemplo de SAIDA DE CONSOLE com 3 (três) sorvetes
9. Colocar um exemplo de SAIDA DE CONSOLE com erro tamanho
10. Colocar um exemplo de SAIDA DE CONSOLE com erro código

Soluções para a tarefa

Respondido por isadoracappuccelli
6

Utilizaremos a linguagem Python para desenvolver um programa para o aplicativo de vendas de uma sorveteria que recebe as informações do usuário e emite o valor final da compra.

Comandos utilizados da linguagem Python:

  • input(): recebe dados do usuário
  • print(): imprime na tela informações
  • if/else: comando condicional que permite que o programa tome caminhos diferentes se uma exigência foi cumprida ou não
  • while: comando de loop que repete determinadas linhas de código enquanto uma variável for verdadeira

Programa completo:

# tabela

tamanho = ["P", "M", "G"]

codigos = {"TR": [6.00, 10.00, 18.00],

          "ES": [7.00, 12.00, 21.00],

          "PR": [8.00, 14.00, 21.00]}

compra = []

# pedindo os dados

while True:

   qual_tamanho = input("Qual o tamanho do sorvete desejado? ")

   qual_sabor = input("Qual o código do sorvete desejado? ")

   if qual_tamanho in tamanho and qual_sabor in codigos:

       pedido = codigos[qual_sabor][tamanho.index(qual_tamanho)]

       compra.append(pedido)

       algo_mais = input ("Deseja pedir algo mais?"

                          "\nDigite S para sim ou N para não. ")

       if algo_mais == "S":

           continue

       else:

           break

   else:

       print("TAMANHO ou CÓDIGO inválido(s)")

       continue

print ("Valor total da compra:", "R$",sum(compra))

Exemplos de saídas de console:

    1. Erro de tamanho:

>> Qual o tamanho do sorvete desejado? H

>> Qual o código do sorvete desejado? TR

TAMANHO ou CÓDIGO inválido(s)

>> Qual o tamanho do sorvete desejado?

    2. Erro de código:

>> Qual o tamanho do sorvete desejado? P

>> Qual o código do sorvete desejado? GR

TAMANHO ou CÓDIGO inválido(s)

>> Qual o tamanho do sorvete desejado?

    3. Pedido com 3 (três) sorvetes:

>> Qual o tamanho do sorvete desejado? P

>> Qual o código do sorvete desejado? TR

>> Deseja pedir algo mais?

>> Digite S para sim ou N para não. S

>> Qual o tamanho do sorvete desejado? M

>> Qual o código do sorvete desejado? PR

>> Deseja pedir algo mais?

>> Digite S para sim ou N para não. S

>> Qual o tamanho do sorvete desejado? G

>> Qual o código do sorvete desejado? ES

>> Deseja pedir algo mais?

>> Digite S para sim ou N para não. N

Valor total da compra: R$ 41.0

Saiba mais sobre programação em Python em: https://brainly.com.br/tarefa/53642459

#SPJ1


leofabr3: Bela elaboração! Obrigado!
isadoracappuccelli: Por nada :)
marcos33santiago: meu codigo está igual e está dando erros
isadoracappuccelli: Qual o erro? Se rodar em um programa tipo spyder ele indica qual a linha do erro, se é uma variável, indentação, etc.
andrade555amanda: Pode ser, mas não vai dar certo porque o enunciado pede para usar elif. Então vai estar errado.
Respondido por rogerioc123456
3

Resposta:acumulador = 0

print ('Seja bem vindo a Sorveteria  do (SEU NOME)')

print('**************************** SERVIÇOS OFERECIDOS ******************************')

print('|_____________________________________________________________________________|')

print('|  CODIGO  |      DESCRIÇÃO       |    TAMANHO P  |  TAMANHO M |  TAMANHO G   |')

print('|          |                      |     500 ML    |  1000 ML   |   2000 ML    |')

print('|   "TR"   |   SABOR TRADICIONAIS |   R$   6,00   |  R$  10,00 |  R$  18,00   |')

print('|   "ES"   |   SABORES ESPECIAIS  |   R$   7,00   |  R$  12,00 |  R$  21,00   |')

print('|   "PR"   |   SABORES ESPECIAIS  |   R$   8,00   |  R$  14,00 |  R$  24,00   |')

print('|_____________________________________________________________________________|')

while True:

 tamanho = input('Escolha o tamanho  desejado: ')

 if tamanho != 'p' and tamanho != 'm' and tamanho != "g":

     print('tamanho invalido, digite um tamanho valido...')

     continue

 codigo = input('Entre com o código desejado: ')

 if codigo == 'tr'and tamanho == 'p':

   acumulador = acumulador + 6

 elif codigo == 'tr' and tamanho == 'm':

   acumulador = acumulador + 10

 elif codigo == 'tr' and tamanho == 'g':

   acumulador = acumulador + 18

 elif codigo == 'es' and tamanho == 'p':

   acumulador = acumulador + 7

 elif codigo == 'es' and tamanho == 'm':

   acumulador = acumulador + 12

 elif codigo == 'es' and tamanho == 'g':

   acumulador = acumulador + 21

 elif codigo == 'pr' and tamanho == 'p':

   acumulador = acumulador + 8

 elif codigo == 'pr' and tamanho == 'm':

   acumulador = acumulador + 14

 elif codigo == 'pr' and tamanho == 'g':

   acumulador = acumulador + 24

 else:

   print('Código invalido, digite um codigo valido!')

   continue

 print('O valor da conta está em: R$ {:.2f} ' . format (acumulador))

 resposta = input('Deseja mais alguma coisa? (s/n): ')

 if resposta == 's':

   continue

 else:

   print('O valor total:R$ {:.2f}' . format (acumulador))

   print('Obrigado, e volte sempre !!!')

   break

Explicação:


leofabr3: Perfeito! Obrigado!
rogerioc123456: faltou colocar comentários eu esqueci, mas aí vc adiciona com (#...)
mikaellyb680: oii teria como me mandar uma foto de como fica , pq algumas parte está dando erro to com um pouco de dificuldade em programação.
rogerioc123456: pode ser pq eu quando montei o programa não especifiquei a chamada do programa com letras maiúsculas ou minúsculas, ou pode ser na hora de colar o programa alguma identação ficou fora
ceildosanto: o meu código dessa atividade está dando erro.
rogerioc123456: tem que ver certinho pq quando vc cópia e cola as identação sai , e vc tem que observar se ficou algum fora
macedoovale: perfeito o código. precisa ajustar algumas coisas, mas esta ótimo. obrigado
Perguntas interessantes