Cambia tu forma de poner lógica en tu código – Python

¿No estás aburrido codificando en la misma lógica tradicional durante estos años? Es hora de traer algunas diferencias. Bueno, ya sea cualquier lenguaje de programación. Cuando se nos pide que hagamos algún tipo de ejercicio básico de programación como ordenar, buscar, verificar números primos, etc., todos nos dirigimos hacia el mismo bote, que es la misma lógica de codificación. Ahora, estamos en el pasado 2020, así que también tomemos una iniciativa para cambiar nuestros estilos de pensamiento en lo que respecta a la codificación. Es porque, solo si pensamos de manera diferente, podemos codificar de manera diferente. 

 Profundicemos en esos maravillosos consejos de codificación.

Comprobar si un número dado es par o impar

Por supuesto, qué pregunta tan simple. Podemos verificar fácilmente si es par o impar usando el operador de módulo. quieres saber como? Solo vea el siguiente fragmento de código de Python: 

Python3

a = 4
  
if(a % 2 == 0):
    print("even")
else:
    print("odd")

Producción:

even

Aquí, la operación de módulo se utiliza para determinar el resto obtenido. Todos los números pares son divisibles por 2. Eso significa que, al dividir un número par, digamos 4 entre 2, obtendremos el resto como 0. Entonces, al aplicar la operación de módulo entre los dos números, la respuesta será 0. Este principio básico siempre se aplica. a la programación cada vez que se nos pide comprobar si hay números pares e impares.

¿Puedes pensarlo diferente? Todos le hemos enseñado a nuestro cerebro la lógica de que dividir un número por 2 determina si es par o impar. Y esa línea de código es seguida tradicionalmente por todos aquellos que codifican. Entonces, comencemos a excavar un árbol de hoja perenne, pero el método no utilizado.

Python3

a = 4
    
if(a & 1):
    print("odd")
else:
    print("even")

Producción:

even

Esto se hizo usando la operación AND bit a bit . ¡Lo suficientemente genial!

Los operadores bit a bit están operando en enteros bit a bit. Esto se hace convirtiendo los números enteros en binarios y luego realizando una operación AND lógica en cada uno de los bits correspondientes.

Nota: Para obtener más información, consulte Operadores bit a bit de Python

¿Comprobar si un número dado es primo o no?

Aquellos números que son divisibles por 1 y solo ese número se llaman números primos . Ejemplos de números primos son 2, 3, 5, 7, etc., que no tienen ningún otro factor (excluidos ellos mismos y el 1). A todos nos han enseñado sobre la siguiente lógica para comprobar los números primos.

Python3

a = 10
  
if a>1:
    
    for i in range(2, (a//2)+1):
        
        if a % i == 0:
            print(a, "is not prime ")
            break
              
        else:
            print(a, "is prime ")
else:
    print(a, "is not prime ")

Producción:

10 is not prime 

Pero podemos optimizarlo aún más. Y se verá como:

Python3

a = 10
i = 2
  
if a>1:
    
    while(i * i<a):
        
        if a % i == 0:
            print(a, "is not prime ")
            break
              
        else:
            print(a, "is prime ")
        i += 1
else:
    print(a, "is not prime ")

Producción:

10 is not prime 

Ambos códigos son correctos y generan el mismo resultado. Pero el segundo código está más optimizado porque para verificar los factores, es suficiente recorrer hasta la raíz cuadrada del número dado en lugar de verificar hasta la mitad.

En el código anterior, estamos verificando los factores de un número dado. Y después de cada iteración, tenemos que incrementar el valor de la variable de bucle ‘i’. Funciona hasta i^2 menos que el número dado.

Multiplique un número dado k por 2^k y muestre el resultado

    Python3

    k = 5
    j = 2**k
    p = k * j
      
    print(p)
    

    Producción:

    160

    Pero hay otro método que es mucho más simple y eficiente. Eso es mediante el uso de shift-operator. La operación de desplazamiento a la izquierda en la variable k, k veces dará como resultado la misma función que se muestra arriba. Entonces el código optimizado se convertirá en:

    Python3

    k = 5
      
    print(k<<k)
    

    Producción:

    160

    Ambos darán como resultado el mismo resultado.

    Divide un número dado por 2^k y muestra la salida

      El código de Python 3 para la división básica es el siguiente:

      Python3

      k = 5
      j = 2**k
        
      p = k//j
        
      print(p)
      

      Producción:

      0

      Podemos usar ‘//’ para la división de enteros y ‘/’ para la división de piso según nuestro requisito. Y el código optimizado que usa la operación de desplazamiento a la derecha se verá así:

      Python3

      k = 5
        
      print(k>>k)
      

      Producción:

      0

      Ambos códigos darán como resultado la salida ‘0’ (división entera). 

      Nota: Para obtener más información, consulte Operadores bit a bit de Python.

       

      Todas estas operaciones ya existían desde la historia. Pero nos olvidamos de practicar su uso. Para nuestro futuro cambiante, adoptemos estos pequeños cambios y formemos parte de él.

      Publicación traducida automáticamente

      Artículo escrito por aleenajoseph993 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

      Deja una respuesta

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