Enunciado: Imagina-se que você e sua equipe foram contratados por uma empresa preste serviços de limpeza para desenvolver a solução de software. Você ficou encarregado da parte de interação com o usuário.
O valor que a empresa cobra por limpeza é dado pela seguinte equação:
total=(metragem*tipo)+adional(is)
Em que cada uma das variáveis que compõe o preço total é quantizada da seguinte maneira:
Quadro 1: Metragem versus valor
Metragem (m²) Valor (R$)
30 <= metragem < 300 60 + 0. 3 * metragem
300 <= metragem < 700 120 + 0. 5 * metragem
Outros valores Não são aceitos
Quadro 2: Tipo versus multiplicador
Tipo Multiplicador
B – Básica - Indicada para sujeiras semanais ou quinzenais 1. 00
C – Completa - Indicada para sujeiras antigas e/ou não rotineiras 1. 30
Quadro 3: Adicionais versus valor
Adicionais Valor (R$)
0- Não desejo mais nada (encerrar) 0,00
1- Passar 10 peças de roupas - R$ 10. 00 10,00
2- Limpeza de 1 Forno/Micro-ondas - R$ 12,00 12,00
3- Limpeza de 1 Geladeira/Freezer - R$ 20,00 20,00
Elabore um programa em Python que:
Pergunte a metragem (em m²). Se digitar um valor não numérico e/ou metragem for menor/maior que o limite aceito repetir a pergunta;
Pergunte a tipo de limpeza. Se digitar uma opção não válida deve repetir a pergunta
Pergunte o adicional. Deve-se perguntar ao usuário se desejada mais algum adicional até digitar ele 0
Encerre o total a ser pago com base na equação desse enunciado;
Deve-se codificar uma função metragem_limpeza() (EXIGÊNCIA 1 de 3);
Deve-se perguntar dentro da função a metragem da porção (em m²);
Deve-se ter um if/else ou if/elif ou if/else/elif para verificar se o usuário não digitou uma metragem fora da faixa com que o empresa trabalha;
Deve-se ter try/except para o caso do usuário digitar um valor não numérico;
Deve-se retornar o valor em (RS) conforme a Quadro 1
Deve-se codificar uma função tipo_limpeza() (EXIGÊNCIA 2 de 3);
Deve-se perguntar dentro da função a opção desejada;
Deve-se ter um if/elif/else para verificar as opções possíveis ou não;
Deve-se retornar o multiplicador conforme o Quadro 2
Deve-se codificar uma função adicional_limpeza() (EXIGÊNCIA 3 de 3);
Deve-se perguntar dentro se deseja ou não mais algum adicional
Deve-se ter um if/elif/else para verificar as opções possíveis ou não;
Deve-se retornar o multiplicador conforme o Quadro 3
Soluções para a tarefa
Veja abaixo o programa em Python que informa ao usuário o valor da limpeza desejada.
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;
- try/except: permite que o programa continue rodando mesmo quando algo inesperado ocorre;
- while: comando de loop que repete determinadas linhas de código enquanto uma variável for verdadeira.
Programa completo:
#função metragem da limpeza
def metragem_limpeza():
metragem = input("Qual a metragem da porção a ser limpa? ")
try:
metragem = int(metragem)
if not 30 <= metragem < 700:
metragem_limpeza()
else:
metragem = int(metragem)
if 30 <= metragem < 300:
valor_metragem = 60 + 0.3*metragem
else:
valor_metragem = 120 + 0.5*metragem
return valor_metragem
except:
metragem_limpeza()
#função tipo de limpeza
def tipo_limpeza():
tipo = input ("Qual o tipo de limpeza será feita? Digite B para básica e C para completa. ")
if tipo == "B":
multiplicador = 1.00
elif tipo == "C":
multiplicador = 1.30
else:
tipo_limpeza()
return multiplicador
#função adicional da limpeza
def adicional_limpeza():
aux = 0
print (tipos_adicional)
while True:
adicional = input ("Digite o número do adicional que deseja. ")
if int(adicional) == 0:
break
elif int(adicional) in tipos_adicional:
aux = aux + valor_adicional[int(adicional)]
else:
continue
return aux
#tabela adicionais
tipos_adicional = {0: "Sem adicionais",
1: "Passar 10 peças de roupa",
2: "Limpeza de Forno/Microondas",
3: "Limpeza de Freezer/Geladeira"}
valor_adicional = [0, 10.00, 12.00, 20.00]
# programa
valor = metragem_limpeza()
tipo_limpeza = tipo_limpeza()
adicionais = adicional_limpeza()
total = (valor*tipo_limpeza) + adicionais
print(f"R$ {total:,.2f}")
Observe que o .2f permite que o programa imprima um valor com duas casas decimais, referente aos centavos.
Veja mais sobre Python em: https://brainly.com.br/tarefa/53905857
#SPJ1
in
100 valor = metragem_limpeza()
101
--> 102 tipo_limpeza = tipo_limpeza()
103
104 adicionais = adicional_limpeza()
in tipo_limpeza()
54 tipo_limpeza()
55
---> 56 return multiplicador
57
58 #função adicional da limpeza
valor = metragem_limpeza()
tipo_limpeza = tipo_limpeza()
adicionais = adicional_limpeza()