def Registrar():

    Limpiar()

    provincia = Persona.RestriccionProvincia(provincias)
    lat, lon = Persona.RestriccionCoordenadas()

    if not Utilidades.ValidarCoordenadas(lat, lon, provincia):
        return

    documento = Persona.RestriccionDocumento()
    nacionalidad = Persona.RestriccionNacionalidad(documento)
    num_doc = Persona.RestriccionNumeroDocumento(documento)

    if num_doc == '0':
        return

    Limpiar()

    nombre = Persona.RestriccionNombre()
    apellido = Persona.RestriccionApellido()
    tel = Persona.RestriccionTelefono()
    fecha_nacimiento = Persona.RestriccionFecha()
    zodiaco = Utilidades.ObtenerSignoZodiacal(fecha_nacimiento.month,
                                              fecha_nacimiento.day)
    email = Persona.RestriccionEmail()
    sexo = Persona.RestriccionSexo()

    numeros_misticos[zodiaco]['Enfermos'] += 1

    Limpiar()

    temp = Persona(documento, num_doc, nombre, apellido, nacionalidad, sexo,
                   fecha_nacimiento, zodiaco, tel, email, provincia, lat, lon)

    print('Datos Registrados...\n')
    Mostrar(temp)
    registros.append(temp)
    try:
        Alerta(temp)
    except telegram.error.NetworkError:
        print('Error de Conexion')

    del (temp)
def Editar(numeros_misticos):
    Limpiar()
    Mostrar(registros)
    print('Seleccione el registro:')

    try:
        nregistro = int(input()) - 1

        if not (0 <= nregistro < len(registros)):
            print('Opcion no valida')
            return
    except:
        print('Algo salio mal')
        Continuar()
        return

    while True:
        Limpiar()
        persona = registros[nregistro]
        Mostrar(persona)
        print('''Elija el campo a modificar [S] Salida

 1) Documento            2) Nacionalidad     3) Numero de Documento
 4) Nombre               5) Apellido         6) Telefono
 7) Fecha de Nacimiento  8) Email            9) Sexo
 10) Estado              11) Ubicacion
        ''')

        opcion = input().upper()

        if opcion == '1':
            documento = Persona.RestriccionDocumento()

            if documento == 'Cedula de Identidad':
                if not Utilidades.ValidarCedula(persona.num_doc):
                    while True:
                        Limpiar()
                        print(
                            'Su numero no coincide con una cedula valida. Debe cambiarla\n\n'
                        )
                        Continuar()
                        num_doc = Persona.RestriccionNumeroDocumento(documento)

                        if not (num_doc == '0'):
                            break

                    persona.num_doc = num_doc

            persona.documento = documento

        elif opcion == '2':
            persona.nacionalidad = Persona.RestriccionNacionalidad(documento)

        elif opcion == '3':

            num_doc = Persona.RestriccionNumeroDocumento(documento)

            if not (num_doc == '0'):
                persona.num_doc = num_doc

        elif opcion == '4':
            persona.nombre = Persona.RestriccionNombre()

        elif opcion == '5':
            persona.apellido = Persona.RestriccionApellido()

        elif opcion == '6':
            persona.tel = Persona.RestriccionTelefono()

        elif opcion == '7':
            persona.fecha = Persona.RestriccionFecha()
            persona.zodiaco = Utilidades.ObtenerSignoZodiacal(
                persona.fecha.month, persona.fecha.day)

        elif opcion == '8':
            persona.email = Persona.RestriccionEmail()

        elif opcion == '9':
            persona.sexo = Persona.RestriccionSexo()

        elif opcion == '10':
            numeros_misticos = persona.setEstado(numeros_misticos)
        elif opcion == '11':
            provincia = Persona.RestriccionProvincia(provincias)
            lat, lon = Persona.RestriccionCoordenadas()

            if Utilidades.ValidarCoordenadas(lat, lon, provincia):
                persona.provincia = provincia
                persona.coordenadas = lat, lon
        elif opcion == 'S':
            break
        else:
            print('Opcion no Valida')
            Continuar()
    print('Cambios Realizados\n')
    Mostrar(persona)
    try:
        Alerta(persona)
    except telegram.error.NetworkError:
        print('Error de Conexion')