Você está na página 1de 2

Apresentação de Código da Questão

3:
# joaozinho
print('Bem vindo à loja do joaozinho')

#Função para excolher o serviço desejado


def escolha_serviço():
escolha=input('--------------------------------------\n'
' Entre com o tipo de serviço desejado.\n'
' DIG - Digitação. (R$ 1,10 POR
PAG.)\n'
' ICO - Impressão Colorida. (R$ 1,00 POR
PAG.)\n'
' IPB - Impressão Preto e Branco. (R$ 0,40 POR
PAG.)\n'
' FOT - Fotocopia. (R$ 0,20 POR
PAG.)\n'
'Digite aqui: ').upper().strip()
#loop para garantir que o usuario faça uma escolha válida
while escolha != 'DIG' and escolha != 'ICO' and escolha != 'IPB'
and escolha != 'FOT':
print('\033[91mEscolha invalida. Tente novamente.\033[0m')
escolha = input('--------------------------------------\n'
' Entre com o tipo de serviço desejado.\n'
' DIG - Digitação. (R$ 1,10
POR PAG.)\n'
' ICO - Impressão Colorida. (R$ 1,00
POR PAG.)\n'
' IPB - Impressão Preto e Branco. (R$ 0,40
POR PAG.)\n'
' FOT - Fotocopia. (R$ 0,20
POR PAG.)\n'
'Digite aqui: ').upper().strip()

#atribuição do custo por página com base na escolha do usuário


if escolha == 'DIG':
custo_pag = 1.10
elif escolha == 'ICO':
custo_pag = 1
elif escolha == 'IPB':
custo_pag = 0.40
elif escolha == 'FOT':
custo_pag = 0.20
return custo_pag

#Função para obter o número de páginas com desconto


def num_pag():
print()
while True:
try:
num = int(input('Entre com o numero de paginas:
'))#Verificação se o número de páginas é maior que o limite
if num > 10000:
print('\033[91mNão aceitamos tantas paginas de uma
vez.\n'
'Por favor entre com o numero de paginas
novamente.\033[0m')
continue
except ValueError:
print('\033[91mDigite apenas numeros inteiros\033[0m')
continue

#Cálculo do desconto com base no número de páginas


if num < 10:
pag = num
elif 100 > num >= 10:
pag = num - (num * 0.10)
elif 1000 > num >= 100:
pag = num - (num * 0.15)
else:
pag = num - (num * 0.20)
return pag

#Função para adicionar serviços extras


def servico_extra():
while True:
try:
extra = int(input('Deseja adicionar mais algum serviço?\n'
' [1] - Encadernação Simples (R$
10,00)\n'
' [2] - Encadernação Capa Dura (R$
25,00)\n'
' [0] - Não desejo mais nada.'
'>> '))

if 0 < extra > 2 and extra not in 120:# Verificação se a


escolha do usuário é válida
print('\033[91mDigite apenas numeros entre 0 e 2.\n'
'Por favor entre com o numero de paginas
novamente.\033[0m')
continue
except ValueError:
print('\033[91mDigite apenas numeros inteiros entre 0 e
2.\033[0m')
continue

#Atribuição do valor extra com base na escolha do usuário


if extra == 1:
valor = 10
elif extra == 2:
valor = 25
else:
valor = 0
return valor

#Chamada das funções


servico = escolha_serviço()
num = num_pag()
extra = servico_extra()

#Cálculo do valor total


total = (servico * num) + extra

#Mensagem final com o valor total


print()
print(f'Total (R$): {total:.2f} (serviço: {servico:.1f} * paginas:
{num:.1f} + extras: {extra}).

Você também pode gostar