Rota de Van Escolar
Você precisa montar um sistema que ajuda a montar uma lista de endereço para uma rota para uma de alunos de uma van escolar. Para montar este programa você deverá montar um menu de opções ao iniciar o programa:
1 – listar alunos e endereço
2 – cadastrar um novo aluno
0 – sair do programa
Opcao 1
Quando o usuário digitar 1, o programa deverá exibir o nome do aluno junto do seu endereço EX se já contiver alunos cadastros, caso contrário, exibir uma mensagem avisando que não há alunos cadastrados:
Alunos:
Joaozinho – Rua Voluntários da Patria, 190, Botafogo, Rio de Janeiro, RJ – CEP 22270-902
Mariazinha – Rua Paraná, 120, Centro, Araruma, RJ – CEP 28970-000
...
Template: {aluno} – {endereco_completo} – {cep}
Opcao 2
Quando o usuário digitar 2, o programa deverá iniciar perguntando o nome do aluno, em seguida seu CEP.
Nome : Joaozinho CEP : 22270902
(dica: não peça o traço na hora de digitar o dado, apenas exiba o traço na listagem)
Se o CEP for inválido ou não encontrado na API, deverá pedir para o usuário digitar novamente.
Se o CEP não tiver os dados completos, como nome da rua e bairro, ele deverá perguntar para o usuário estas informações para completar o cadastro.
Exemplo:
Já exibir cidade e estado e perguntar:
Logradouro: Rua Paraná Bairro: Centro Número: 123
(dica, não transforme em inteiro, deixe com string)
Se o CEP tiver todos os dados de nome de rua e bairro, pedir apenas o número da residência.
Ao final do cadastro, deve exibir uma mensagem de sucesso e voltar para o menu de opções.
Opcao 3
Quando o usuário digitar a opção 0, o programa deverá ser encerrado.
para testes
CEPS para ajudar nos exemplos de cidades que não são mapeadas pelos correios
28970-000
28950-000
28930-000
adicionado 0 minutos depois
meu codigo até agora
import requests
ALUNOS = []
def main():
print("""
Menu: rotas de van
1 - listar alunos
2 - cadastrar alunos
0 - sair
""")
opcao = input('')
if opcao == '1':
listar()
elif opcao == '2':
incluir()
elif opcao == '0':
exit(0)
def listar(ALUNOS,Endereco,Cep):
'Aluno' = input('digite o nome do aluno')
'Endereço' = input('digite o endereço destino')
'Cep' = int(input('Digite o cep da rua'))
print(f'{ALUNOS}--{Endereço}--{Cep}')
def incluir(aluno_novo,endereco_novo,Cep_novo):
' aluno_novo' = input('digite o nome do aluno')
'endereco_novo' = input('digite o endereço destino')
'Cep' = int(input('Digite o cep da rua'))
print(f'{aluno}--{endereço_novo}--{Cep_novo}')
if __name__ == '__main__':
main()
def obterCEP(cep):
response = requests.get(f'https://viacep.com.br/ws/{cep}/json/')
response.raise_for_status()
dados = response.json()
return dados