LINUX

Aprenda Python: uso de If y While para encontrar números primos

Este tutorial es una introducción básica a Python. Desglosaré conceptos básicos como

  • Mientras bucles
  • Si declaraciones
  • Tomando la entrada del usuario
  • Impresión
  • Cómo desglosar y administrar su código

Uno de los conceptos más importantes en programación es el concepto de eficiencia. Si necesitamos completar una tarea muchas veces, podríamos escribirla todas y cada una de las veces, ¡o podríamos usar un bucle!

Un bucle es un fragmento de código que reutilizamos una y otra vez. Hoy usaremos un mientras que bucle para calcular números primos!

A número primo es un número que no se puede dividir uniformemente por dos números reales. Por ejemplo, el número 17 es un número primo. Pero, ¿cómo podemos encontrar estos números? ¡Usando Python!

python si-mientras

Antes de comenzar a codificar

Al igual que con cualquier programa, no comenzamos escribiendo código duro en frío. Primero tenemos que averiguar qué está tratando de lograr nuestro programa y cómo podemos lograr ese objetivo.

1.Nuestro programa va a conseguir aporte del usuario.

2.Nuestro programa va a controlar si ese número es un número primo.

3.Nuestro programa va a contar el usuario si su número es un número primo.

Ahora podemos comenzar a hacer nuestro programa convirtiendo estos pasos en código.

Codificación

Para codificar en Python todo lo que necesita un editor de texto. Puede usar vim, gedit o cualquier otro programa de edición de texto y guardarlo como un archivo .py. Cada vez que desee compilar y ejecutar su código, tendrá que abrir una terminal, navegar hasta donde está su archivo y usar

python your_file_name.py

Empezaremos con nuestro Parte 1 desde arriba. Nuestro programa va a conseguir aporte del usuario.

En Python simplemente escribe

input('Please enter a number')

Esa línea producirá el siguiente resultado.

Ingrese un numero

Ahora tenemos que hacer algo con ese número. Primero lo almacenamos como una variable.

number = input('Please enter a number')

El número de usuarios ahora se almacena en una variable y se puede utilizar en todo nuestro programa.

Estamos en ¡Parte 2! Nuestro programa va a controlar si ese número es un número primo.

¿Cómo comprobamos si un número es primo? ¡Tendríamos que dividirlo por todos los números posibles y ver si alguna vez entra par! ¡Eso tomaría una eternidad! No con un bucle.

Un bucle ejecutará un fragmento de código una y otra vez, ya sea por un cierto número de veces o hasta que se cumpla un parámetro. Entonces, si ingresamos el número 17, tendríamos que hacer 17/2 luego 17/3 luego 17/4 luego 17/5 luego … y así sucesivamente hasta el 17/16.

Aviso cómo empezamos a dividir por 2. Esto se debe a que 17/0 no es válido y cualquier número se puede dividir por 1.
Entonces crearemos una variable con el valor inicial de 2.

i = 2

Esta línea es muy simple, pero el concepto es un poco más complejo. Nuestra variable i actúa como Index que CAMBIARÁ cada vez que el programa se ejecute a través del ciclo.

Entonces necesitamos un ciclo que divida nuestro número de entrada por nuestro índice i. voy a aumentar mientras es uno menos que nuestro número.

Entonces usaremos un mientras ¡lazo!

while i<number:
number/i
i = i + 1

Este ciclo se ejecutará mientras i sea menor que el número, sumando 1 a i cada vez. Sin embargo, ¡no se está haciendo nada! Tenemos que comprobar si ¡Entro en el número de manera uniforme!

Bueno, usemos un si ¡declaración!

También necesitaremos el operador de módulo. % es el símbolo del módulo y da es el resto de cualquier división. 5% 2 = 1 porque 2 entra en 5 2 veces, con un resto de 1.

Asi que si NO hay un resto, entonces voy a nuestro número de manera uniforme. Modifiquemos nuestro ciclo ahora.

while i<number:
if number%i == 0:
print ("Your number is NOT a prime number!");
i = i + 1
print("Your number is a prime number");

Si se dio cuenta, también pudimos completar Parte 3! 3 Nuestro programa va a contar el usuario si su número es un número primo.

La segunda declaración de impresión está FUERA de nuestro ciclo while. Esto se debe a que si podemos recorrer todos los números y ni uno solo es par, entonces sabemos que es un número primo.

Todos juntos nuestro programa se ve así

number = number = input('Please enter a number: ')

i = 2

while i<number:
if number%i == 0:
print ("Your number is NOT a prime number!");
i = i + 1
print ("Your number is a prime number!");

Hay un problema con esto. ¡Tu número es un número primo! ¡Siempre imprimirá! Necesitamos una palanca para asegurarnos de que no se imprima si no es un número primo.

number = number = input('Please enter a number:')

i = 2
toggle = 0

while i<number:
if number%i == 0:
toggle = 1
print ("Your number is NOT a prime number!");
i = i + 1
if toggle == 0:
print ("Your number is a prime number!");

Puede ver que agregué un alternar variable, que cambiamos si nuestro número no es un número primo.

programa de números primos de Python

¡Estamos listos para ejecutar nuestro programa! Asegúrese de guardar su programa con el tipo de archivo .py. Llamé al mío prime.py. Para compilar y ejecutar su programa, necesitaremos usar la terminal. Navegue hasta donde se encuentra su programa en la terminal.

Compile y ejecute con el siguiente comando

python prime.py

Captura de pantalla de 2014-02-10 14:20:05

¡Presume ante tus amigos!

¡Vuelva pronto para obtener una versión ampliada de este programa donde verificamos todos los números primos entre dos números!

Como siempre, siéntete libre de dejar un comentario con cualquier pregunta o problema que puedas tener.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar