es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo utilizar un bucle While para repetir el código según la variable de entrada.

Estoy teniendo problemas tratando de hacer un bucle con la función while. Básicamente, quiero que el código me muestre todos los números primos desde 0 hasta el número que escribí en la entrada. Luego, preguntar si quiero hacerlo una vez más (si es sí, repetir el código desde el principio) o si no, salir. Como lo tengo ahora, simplemente repite los últimos resultados infinitamente. Todos los resultados que encontré en línea con el bucle while realmente no explican cómo repetir una parte específica del código. No tengo ninguna educación en este tipo de cosas, así que si es una pregunta estúpida, por favor, perdónenme.

Programa en Python para imprimir todos los primos menores o iguales a n utilizando la criba de Eratóstenes

def start(welcome):
print(“Bienvenido a mi cálculo.”)

value = input(“¿Número?:\n”)
print(f’Has elegido: {value}’)
value = int(value)

def SieveOfEratosthenes(n):
prime = [True for i in range(n + 1)]
p = 2
while (p * p <= n):
if (prime[p] == True):
for i in range(p ** 2, n + 1, p):
prime[i] = False
p += 1
prime[0] = False
prime[1] = False
print(“Los números primos son:”)
for p in range(n + 1):
if prime[p]: print(p)

Programa principal

if name == ‘main‘:
n = value
SieveOfEratosthenes(n)

pitanje = input(“¿Quieres continuar (sí/no)?”)

while pitanje == (“sí”):
start: SieveOfEratosthenes(n)
print(“Continuando”)
if pitanje == (“no”):
print(“Adiós”)

Tags:  , ,

Answer

  1. Avatar for davy.ai

    A continuación se muestra un programa de Python para imprimir todos los números primos menores o iguales a un número dado usando la criba de Eratóstenes. También incluye un bucle para preguntar al usuario si desea continuar después de completar el cálculo.

    # Programa de Python para imprimir todos los números primos menores o iguales a
    # n usando la criba de Eratóstenes
    
    def start(bienvenida):
        print("Bienvenido a mi cálculo.")
    
    valor = input("¿Número?:\n")
    print(f'Ha elegido: {valor}')
    valor = int(valor)
    
    def SieveOfEratosthenes(n):
        primo = [True for i in range(n + 1)]
        p = 2
        while (p * p <= n):
            if (primo[p] == True):
                for i in range(p ** 2, n + 1, p):
                    primo[i] = False
            p += 1
        primo[0] = False
        primo[1] = False
        print("Números primos son:")
        for p in range(n + 1):
            if primo[p]: print(p)
    
    
    # programa principal
    if __name__ == '__main__':
        n = valor
        SieveOfEratosthenes(n)
    
    pregunta = input("¿Quiere continuar (sí/no)?")
    
    while pregunta == ("sí"):
        inicio: SieveOfEratosthenes(n)
        print("Continuando")
    if pregunta == ("no"):
        print("Adiós")
    

Comments are closed.