Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
FACTORIZACION DE UN NÚMERO (GOTO?)
#1
Hola a la comunidad.
Soy nuevo en programación y también en PYTHON.
Tengo que resolver un ejercicio de FACTORIZACION DE NUMEROS.
Hice un FLOW CHART del mismo( archivo adjunt).
Hice unas purebas pero realmente no funcionaron.
Tengo en la cabeza usar GOTO..Pero en PYTHON no exciste de base.
Busqué en GOOGLE hay varios módulos pero la verdad no funcionan.
Me podrían ayudar a resolverlo sin usar GOTO?.
Muchas gracias!


Archivos adjuntos Miniatura(s)
   
Responder
#2
Hola.

Estuve pensando un poco el diagrama de flujo que adjuntaste. Creo que a lo último debería chequearse si el cociente es distinto de cero, en lugar de igual a cero. Como sea, la siguiente implementación está insipirada en tu diagrama:

Código:
numero = int(input("Ingresa un número: "))
numeros_primos = iter([2, 3, 5, 7, 11, 13, 17, 19, 23])
numero_primo = next(numeros_primos)
cociente = None

print(f"Factores de {numero}:")

while cociente != 1:
    if numero % numero_primo != 0:
        numero_primo = next(numeros_primos)
        continue
    cociente = numero / numero_primo
    numero = cociente
    print(numero_primo)

Como te había comentado, el GOTO de C o el JUMP de assembly lo podés replicar en Python y otros lenguajes de alto nivel con un bucle while. La clave de este código es que todo lo que está dentro del while se repite mientras el cociente sea distinto de 1. El "continue" hace que el código vuelva a empezar desde la primera línea del bucle. El resto me parece que es bastante claro.

Comentame qué te parece.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)