O Trabalho Lógica de Programação e Algoritmos UNINTER
Por: ydsuquinho • 14/3/2024 • Trabalho acadêmico • 2.983 Palavras (12 Páginas) • 318 Visualizações
QUESTÃO1:
# Função para escolher o serviço
def escolha_servico():
while True:
servico = input('Escolha o serviço desejado: \n' +
'DIG - Digitalização \n' +
'ICO - Impressão Colorida \n' +
'IPB - Impressão Preto e Branco \n' +
'FOT - Fotocópia \n'
'>>:') .upper()
if servico in ["DIG", "ICO", "IBO", "FOT"]:
return servico
else:
print("Opção de serviço inválida. Tente novamente.")
# Função para calcular o número de páginas com desconto
def num_pagina_com_desconto():
while True:
try:
num_paginas = int(input("Digite o número de páginas: "))
if num_paginas < 10:
return num_paginas
elif 10 <= num_paginas < 100:
return num_paginas * 0.9 # Desconto de 10%
elif 100 <= num_paginas < 1000:
return num_paginas * 0.85 # Desconto de 15%
else:
print("Número de páginas não permitido. Tente novamente.")
except ValueError:
print("Por favor, insira um valor numérico válido.")
# Função para escolher os serviços adicionais e calcular o valor extra
def servico_extra():
valor_extra = 0
while True:
servico_adicional = input('Escolha o serviço adicional: \n' +
'1 - Encadernação Simples \n' +
'2 - Encadernação Capa Dura \n' +
'0 - Não desejo mais nada \n' +
'>>:')
if servico_adicional == "1":
valor_extra += 10
elif servico_adicional == "2":
valor_extra += 25
elif servico_adicional == "0":
return valor_extra
else:
print("Opção de serviço adicional inválida. Tente novamente.")
# Função para mostrar o resumo do pedido
def mostrar_resumo(servico, num_paginas, valor_extra):
print("\nResumo do Pedido:")
print(f"Serviço escolhido: {servico}")
print(f"Número de páginas com desconto: {num_paginas:.0f}")
print(f"Valor dos serviços extras: R$ {valor_extra:.2f}")
# Função principal
def main():
print("Bem-vindo a Loja do Hugo Alberto Rojas Riveros.")
try:
servico = escolha_servico()
num_paginas = num_pagina_com_desconto()
valor_extra = servico_extra()
servico_preco = {"DIG": 1.10, "ICO": 1.00, "IBO": 0.40, "FOT": 0.20}
total = servico_preco[servico] * num_paginas + valor_extra
print(f"Total a pagar: R$ {total:.2f}")
mostrar_resumo(servico, num_paginas, valor_extra)
except KeyboardInterrupt:
print("\nOperação interrompida pelo usuário.")
except Exception as e:
print(f"Erro: {e}")
if __name__ == "__main__":
main()
QUESTÃO 2:
# Função para escolher o serviço
def escolha_servico():
while True:
servico = input('Escolha o serviço desejado: \n' +
'DIG - Digitalização \n' +
'ICO - Impressão Colorida \n' +
'IPB - Impressão Preto e Branco \n' +
'FOT - Fotocópia \n'
'>>:') .upper()
if servico in ["DIG",
...