From 868deefb9edc0625e6d36b388c6c95518ae4c3a7 Mon Sep 17 00:00:00 2001 From: Gabriel Vasconcelos Date: Mon, 12 Dec 2022 20:11:15 -0300 Subject: [PATCH] tratamentos de erros adicionados --- main.py | 44 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/main.py b/main.py index e076925..383075a 100644 --- a/main.py +++ b/main.py @@ -6,12 +6,23 @@ def main(): print('####################') print() - cep_input = input('Digite o CEP para a consulta: ') + + while True: + try: - if len(cep_input) != 8: - print('Quantidade de dígitos inválida!') - exit() + cep_input = input('Digite o CEP para a consulta (Deve conter apenas números): ') + if len(cep_input) != 8: + raise ValueError("O CEP deve conter 8 dígitos") + + except ValueError as e: + print("valor inválido para cep. ", e) + + else: + break + + + request = requests.get('https://viacep.com.br/ws/{}/json/'.format(cep_input)) address_data = request.json() @@ -25,16 +36,31 @@ def main(): print('Bairro: {}'.format(address_data['bairro'])) print('Cidade: {}'.format(address_data['localidade'])) print('Estado: {}'.format(address_data['uf'])) + print("\n") else: print('{}: CEP inválido.'.format(cep_input)) print('---------------------------------') - option = int(input('Deseja realizar uma nova consulta ?\n1. Sim\n2. Sair\n')) - if option == 1: - main() - else: - print('Saindo...') + + while True: + try: + + option = int(input('Deseja realizar uma nova consulta ?\n1. Sim\n2. Sair\n')) + if option == 1: + main() + else: + print('Saindo...') + + if len(cep_input) != 8: + raise ValueError("Informe um valor válido") + + except ValueError as e: + print("Opção inválida. Digite 1 ou 2.") + + else: + break + if __name__ == '__main__': main() \ No newline at end of file