Reto01_Operaciones‐basicas - Jul1anT/Retos-OOP_2025 GitHub Wiki

Código (1): Operaciones básicas

Este programa permite realizar operaciones matemáticas básicas: suma, resta, multiplicación y división.

  • Entrada: El usuario introduce el operador (+, -, *, /) y dos números.
  • Procesamiento: Según el operador ingresado, realiza la operación correspondiente. Incluye validación para evitar la división por cero.
  • Salida: Muestra el resultado o un mensaje de error si la operación no es válida.

Ejemplo de uso:

  • Entrada: +, 4, 5
  • Salida: El resultado es: 9
def operaciones_basicas():
    operacion = (input("Digite el caracter de la operación que desea realizar (+, -, *, /): "))
    num1 = int(input("Digite el primer número: "))
    num2 = int(input("Digite el segundo número: "))
    if operacion == '+':
        return num1 + num2
    elif operacion == '-':
        return num1 - num2
    elif operacion == '*':
        return num1 * num2
    elif operacion == '/':
        if num2 != 0:
            return num1 / num2
        else:
            return "Error: División por cero"
    else:
        return "Operación no válida"

result = operaciones_basicas()
print(f"El resultado es: {result}")

Código (2): Verificación de palíndromo

Determina si una palabra es un palíndromo, es decir, si se lee igual al derecho y al revés.

  • Entrada: El usuario introduce una palabra.
  • Procesamiento: Compara los caracteres desde los extremos hacia el centro.
  • Salida: True si es palíndromo, False si no lo es.

Ejemplo de uso:

  • Entrada: "radar"
  • Salida: Es palíndromo: True
def es_palindromo(palabra):
    longitud = len(palabra)
    for i in range(longitud // 2):
        if palabra[i] != palabra[longitud - i - 1]:
            return False
    return True

palabra = input("Digite la palabra que desea verificar si es palíndromo: ")
result = es_palindromo(palabra)
print(f"Es palindromo: {result}")

Código (3): Números primos

Verifica cuáles números de una lista son primos.

  • Entrada: Una lista de números enteros proporcionada por el usuario.
  • Procesamiento: Usa una función para comprobar si cada número de la lista es primo (divisible solo entre 1 y sí mismo).
  • Salida: Una lista con los números primos, o None si no lo son.

Ejemplo de uso:

  • Entrada: "2,3,4,5,6"
  • Salida: Los números primos son: [2, 3, None, 5, None]
def es_primo(n):
    if n < 2:
        return None
    for i in range(2,int(n**0.5)+1):
        if (n%i==0):
            return None
    return n

nums = input("Digite el arreglo de números enteros (separandolos por ','): ")
nums = [int(num) for num in nums.split(',')]
primos = []
for i in range(len(nums)):
    primos.append(es_primo(nums[i]))
print(f"Los números primos son: {primos}")

Código (4): Mayor suma consecutiva

Encuentra la mayor suma entre dos números consecutivos de una lista.

  • Entrada: Una lista de números enteros.
  • Procesamiento: Calcula todas las sumas de pares consecutivos y devuelve la mayor.
  • Salida: La mayor suma encontrada.

Ejemplo de uso:

  • Entrada: "1,3,5,2,8"
  • Salida: La mayor suma entre dos elementos consecutivos es: 10
def suma_mayor(lista):
    if len(lista) < 2:
        return None  # No hay suficientes elementos para comparar

    Suma = lista[0] + lista[1]
    for i in range(1, len(lista) - 1):
        suma = lista[i] + lista[i + 1]
        if suma > Suma:
            Suma = suma
    return Suma

lista = input("Digite el arreglo de números enteros (separandolos por ','): ")
nums = [int(num) for num in lista.split(',')]
print(f"La mayor suma entre dos elementos consecutivos es: {suma_mayor(nums)}")

Código: Encontrar anagramas

Este programa encuentra las palabras en una lista que son anagramas entre sí, es decir, aquellas que tienen los mismos caracteres pero en diferente orden.

  • Entrada: Una lista de palabras separadas por comas.
  • Procesamiento: Ordena las letras de cada palabra y verifica si alguna otra palabra en la lista tiene las mismas letras ordenadas (anagrama).
  • Salida: Una lista con las palabras que son anagramas.

Ejemplo de uso:

  • Entrada: "alma,mal,amla,pan,nap"
  • Salida: Las palabras que tienen los mismos caracteres son: ['alma', 'mal', 'amla', 'pan', 'nap']
def suma_mayor(lista):
    if len(lista) < 2:
        return None  # No hay suficientes elementos para comparar

    Suma = lista[0] + lista[1]
    for i in range(1, len(lista) - 1):
        suma = lista[i] + lista[i + 1]
        if suma > Suma:
            Suma = suma
    return Suma

lista = input("Digite el arreglo de números enteros (separandolos por ','): ")
nums = [int(num) for num in lista.split(',')]
print(f"La mayor suma entre dos elementos consecutivos es: {suma_mayor(nums)}")