28 de Noviembre de 2024

En la tutoría de hoy se revisaron los siguientes temas:

Operadores Aritméticos

Los operadores aritméticos se utilizan para realizar operaciones matemáticas básicas como suma, resta, multiplicación, división, etc.

Ejemplo de Código

num_a = 5
num_b = 2

suma = num_a + num_b
print(f"num_a + num_b = {suma}")

resta = num_a - num_b
print(f"num_a - num_b = {resta}")

multiplicacion = num_a * num_b
print(f"num_a * num_b = {multiplicacion}")

division = num_a / num_b
print(f"num_a / num_b = {division}")

division_entera = num_a // num_b
print(f"num_a // num_b = {division_entera}")

modulo = num_a % num_b
print(f"num_a % num_b = {modulo}")

potencia = num_a ** num_b
print(f"num_a ** num_b = {potencia}")

Explicación

  • +: Suma dos números.
  • -: Resta dos números.
  • *: Multiplica dos números.
  • /: Realiza una división y devuelve un número de punto flotante.
  • //: Realiza una división entera, descartando los decimales.
  • %: Calcula el resto de la división (módulo).
  • **: Calcula la potencia de un número.

Operadores Lógicos

Los operadores lógicos permiten combinar condiciones que devuelven valores booleanos (True o False).

Ejemplo de Código

print(f"True and False is {True and False}")
print(f"True or False is {True or False}")
print(f"not True is {not True}")
print(f"not False is {not False}")

Explicación

  • and: Devuelve True si ambas condiciones son True.
  • or: Devuelve True si al menos una condición es True.
  • not: Invierte el valor lógico. Si es True, lo convierte en False y viceversa.

Operadores Relacionales

Los operadores relacionales comparan dos valores y devuelven True o False.

Ejemplo de Código

num_a = 5
num_b = 3

if num_a < num_b:
    print(f"{num_a} es menor que {num_b}")
else:
    print(f"{num_a} es mayor o igual a {num_b}")

Explicación

  • <: Devuelve True si el primer valor es menor que el segundo.
  • >: Devuelve True si el primer valor es MAYOR que el segundo.

Sentencias Condicionales

Las sentencias condicionales permiten ejecutar diferentes bloques de código según una condición.

Ejemplo de Código

num = -5
if num < 0:
    print(f"{num} es negativo")
elif num == 0:
    print(f"{num} es cero")
else:
    print(f"{num} es positivo")

Explicación

  • if: Evalúa la primera condición.
  • elif: Evalúa condiciones adicionales si las anteriores son False.
  • else: Se ejecuta si ninguna de las condiciones anteriores es True.

Los bloques de código se definen mediante la indentación. Python utiliza la indentación en lugar de llaves {} para definir bloques de código. Pueden existir múltiples bloques elif pero sólo un bloque else. Tanto elif como else son opcionales por lo que un if puede estar solo, pero un elif o else debe estar precedido por un if forzosamente.

Las sentencias condicionales pueden anidarse, es decir, un bloque if puede contener otro bloque if.

Ejemplo de Código

num = 5
if num >= 0:
    if num == 0:
        print(f"{num} es cero")
    else:
        print(f"{num} es positivo")
else:
    print(f"{num} es negativo")

Nota: La anidación excesiva puede hacer que el código sea difícil de leer y mantener. Se recomienda mantener la anidación al mínimo. Evitemos la anidación excesiva de sentencias condicionales.

Anidación de Sentencias Condicionales


Operadores Bit a Bit

Los operadores bit a bit trabajan directamente con los bits de los números.

Ejemplo de Código

and_bitwise = 1 & 0
print(f"1 & 0 = {and_bitwise}")

or_bitwise = 1 | 0
print(f"1 | 0 = {or_bitwise}")

xor_bitwise = 1 ^ 0
print(f"1 ^ 0 = {xor_bitwise}")

xor_bitwise = 1 ^ 1
print(f"1 ^ 1 = {xor_bitwise}")

not_bitwise = ~1
print(f"~1 = {not_bitwise}")

left_shift = 1 << 2
print(f"1 << 2 = {left_shift}")

right_shift = 6 >> 2
print(f"6 >> 2 = {right_shift}")

Explicación

  • &: AND bit a bit. Devuelve 1 solo si ambos bits son 1.
  • |: OR bit a bit. Devuelve 1 si al menos uno de los bits es 1.
  • ^: XOR bit a bit. Devuelve 1 si solo uno de los bits es 1.
  • ~: NOT bit a bit. Invierte todos los bits.
  • <<: Desplaza los bits a la izquierda. Multiplica por 2 por cada desplazamiento.
  • >>: Desplaza los bits a la derecha. Divide por 2 por cada desplazamiento.

Función Principal

El siguiente código define una función principal main que se ejecuta exclusivamente si el archivo se está ejecutando directamente.

Ejemplo de Código

print("Se ejecuta siempre.")

def main():
    print("Se ejecuta exclusivamente al invocar el programa de forma directa.")

if __name__ == "__main__":
    main()

Explicación

  • def main(): Define una función llamada main.
  • if __name__ == "__main__":: Este bloque se ejecuta solo si el archivo se ejecuta directamente, no si es importado como módulo.