Ejercicios de estructuras alternativas

  1. Escribe un programa que pida al usuario un número y muestre un mensaje si el número es neutro.

    Haz clic aquí para ver la solución propuesta
    Python
    numero = int(input("Introduce un número: "))
    
    if numero == 0:
        print("El número es neutro.")
    

  2. Escribe un programa que pida al usuario un número y muestre el mensaje: número es divisible por 5.
    Donde dice número debe imprimir el número ingresado.

    Haz clic aquí para ver la solución propuesta
    Python
    numero = int(input("Ingrese un número: "))
    
    # El operador % realiza la división y devuelve el resto de esta
    if numero % 5 == 0:
        print(numero, "es divisible por 5")
    

  3. Modifica el programa del ejercicio anterior para que ahora indique lo mismo pero que también lo haga si el número ingresado no es divisible por 5.

    Haz clic aquí para ver la solución propuesta
    Python
    numero = int(input("Ingrese un número: "))
    
    # El operador % realiza la división y devuelve el resto de esta
    if numero % 5 == 0:
        print(numero, "es divisible por 5")
    
    else:
        print(numero, "no es divisible por 5")  
    

  4. Escribe un programa que pida al usuario un número entero y muestre por pantalla si es par o impar.

    Haz clic aquí para ver la solución propuesta
    Python
    numero = int(input("Ingrese un número entero: "))
    
    # El operador % realiza la división y devuelve el resto de esta
    if numero % 2 == 0:
        print("El número es par")
    
    else:
        print("El número es impar")
    

  5. Escribe un programa que pida al usuario dos números (que serán diferentes siempre) y muestre el mayor de ellos.

    Haz clic aquí para ver la solución propuesta
    Python
    num1 = int(input("Introduce el primer número: "))
    num2 = int(input("Introduce el segundo número: "))
    
    if num1 > num2:
        print("El número mayor es:", num1)
    else:
        print("El número mayor es:", num2)
    

  6. Escribe un programa que pida al usuario dos números y muestre por pantalla su división.

    ¡Atención! Alcance y Limitación

    Si el divisor es cero programa debe mostrar un error y no realizar la división.

    Haz clic aquí para ver la solución propuesta
    Python
    dividendo = float(input("Ingrese el dividendo: "))
    divisor = float(input("Ingrese el divisor: "))
    
    # Controlar que el divisor no sea 0 evitará que la expresión `dividendo / divisor` retorne un error no esperado
    if divisor == 0:
        print("Error: El divisor no puede ser cero porque no se puede dividir por cero.")
    
    else:
        print("La división entre", dividendo, "y", divisor, "da:", dividendo / divisor)  
    

    Es importante realizar control de errores que puedan sucederse durante la ejecución del programa para evitar que este falle y se fuerce su finalización de manera abrupta.


  7. Ingresa tu edad por teclado.
    Imprime en pantalla si eres mayor o menor de edad.
    Recuerda que una persona es mayor de edad al cumplir 18 años.

    Respeta la sintaxis de salida como muestran los ejemplos:

    Terminal (Entrada/Salida)
    Ingrese su edad: 21
    Usted es mayor de edad con 21 años.
    
    Ingrese su edad: 18
    Usted es mayor de edad con 18 años.
    
    Ingrese su edad: 5
    Usted es menor de edad con 5 años.
    

    ¡Atención! Alcance y Limitación

    Asumimos que el usuario siempre va a ingresar una edad válida. Para cualquier otro caso, se desestimará el resultado obtenido.

    Haz clic aquí para ver la solución propuesta
    Python
    '''
    Solicita el ingreso de la edad por teclado. 
    Convierte el dato devuelto por el comando input(siempre devuelve una cadena) en entero. 
    Almacena el dato convertido en la variable edad
    '''
    edad = int(input("Ingrese su edad: "))
    
    # Evalua si la edad ingresada corresponde a un mayor de edad o a un menor de edad
    
    # Si la edad es mayor o igual a 18
    if edad >= 18:
        print("Usted es mayor de edad con", edad, "años.")
    
    # Si la edad no es mayor ni igual a 18
    else:
        print("Usted es menor de edad con", edad, "años.")
    

  8. Copia el código del ejercicio anterior y a contiunación modifícalo para que realice lo siguiente: El programa, luego de almacenar la edad ingresada, debe imprimir en pantalla el resultado correspondiente en el siguiente orden de evaluación:

    • Eres mayor de edad (si has cumplido 18 años)
    • Eres un adulto joven (si no has cumplido 35 años)
    • Eres un adulto mayor (si has cumplido 65 años)
    • Eres menor de edad (si no has cumplido 18 años)
    • Eres un adolescente (si has cumplido 13 años)
    • Eres un niño (si has cumplido 2 años)
    • Eres un bebé (si no has cumplido 2 años)
    Haz clic aquí para ver la solución propuesta
    Python
    edad = int(input("Ingrese su edad: "))
    
    if edad >= 18:
        print("Eres mayor de edad")
        if edad < 35:
            print("Eres un adulto joven")
        elif edad >= 65:
            print("Eres un adulto mayor")
    else:
        print("Eres menor de edad")
        if edad >= 13:
            print("Eres un adolescente")
        elif edad >= 2:
            print("Eres un niño")
        else:
            print("Eres un bebé")
    

    Este programa primero pide al usuario que ingrese su edad.

    Luego, verifica si la edad es mayor o igual a 18.
    Si es así, imprime "Eres mayor de edad" y luego verifica si la edad es menor a 35 o mayor o igual a 65 para imprimir "Eres un adulto joven" o "Eres un adulto mayor" respectivamente.

    Si la edad es menor a 18, imprime "Eres menor de edad" y luego verifica si la edad es mayor o igual a 13, mayor o igual a 2 o menor a 2 para imprimir "Eres un adolescente", "Eres un niño" o "Eres un bebé" respectivamente.


  9. Escribe un programa que pida al usuario un número entero. Si el número es mayor a 10, mostrar si es par o impar.

    ¡Atención! Alcance y Limitación

    recuerda que todo programa siempre debe dar un resultado cada vez que se ejecute. No puede haber ejecución sin un resultado asociado.

    Haz clic aquí para ver la solución propuesta
    Python
    numero = int(input("Ingrese un número entero: "))
    
    if numero > 10:
    
        if numero % 2 == 0:
            print("El número ingresado es par")
    
        else:
            print("El número ingresado es impar")
    
    else:
        print("El número ingresado no es mayor a 10")
    

  10. Escribe un programa que pida al usuario una calificación (0-100) y determine la letra correspondiente:
    A para 90-100, B para 80-89, C para 70-79, D para 60-69, F para 0-59.

    Haz clic aquí para ver la solución propuesta
    Python
    calificacion = float(input("Introduce una calificación: "))
    
    if calificacion >= 90:
        print("La calificación es A.")
    
    elif calificacion >= 80:
        print("La calificación es B.")
    
    elif calificacion >= 70:
        print("La calificación es C.")
    
    elif calificacion >= 60:
        print("La calificación es D.")
    
    else:
        print("La calificación es F.")
    

    1. Escribe un programa que pida al usuario un número entero. Si el valor ingresado es 2, 4 o 6 muestra en pantalla su valor en letras.

    ¡Atención! Alcance y Limitación

    Recuerda que todo programa siempre debe dar un resultado cada vez que se ejecute. No puede haber ejecución sin un resultado asociado.

    Haz clic aquí para ver la solución propuesta
    Python
    numero = int(input("Ingrese un número entero: "))
    
    if numero == 2:
        print("El número ingresado es el DOS")
    
    elif numero == 4:
        print("El número ingresado es el CUATRO")
    
    elif numero == 6:
        print("El número ingresado es el SEIS")
    
    else:
        print("El número ingresado no el es 2 ni el 4 ni el 6")
    

  11. Ingresa 2 números por teclado.
    Almacénalos en 2 variables.
    Luego, imprime en pantalla cada valor ingresado.
    Luego, imprime en pantalla si el primer número es mayor, igual o menor que el segundo número.

    Por ejemplo, para los valores 4 y 5 la salida sería:

    Terminal (Entrada/Salida)
    Ingrese el primer número: 4
    Ingrese el segundo número: 5
    
    El valor almacenado en num1 es 4
    El valor almacenado en num2 es 5
    
    4 es menor que 5
    
    Haz clic aquí para ver la solución propuesta
    Python
    # Almacena 2 valores ingresados por teclado en 2 variables
    num1 = int(input("Ingrese el primer número: "))
    num2 = int(input("Ingrese el segundo número: "))
    
    # Se imprimen los valores almacenados en las variables
    print("El valor almacenado en num1 es" , num1) 
    print("El valor almacenado en num2 es" , num2)
    
    # Estructura alternativa anidada
    if (num1 > num2):
        print(num1 , "es mayor que" , num2)
    
    elif (num2 == num1):
        print(num1 , "es igual a" , num2)
    
    else:   
        print(num1 , "es menor que" , num2)    
    

  12. Escribe un programa que pida al usuario tres números distintos y muestre por pantalla el mayor de ellos.

    Haz clic aquí para ver la solución propuesta
    Python
    num1 = float(input("Introduce el primer número: "))
    num2 = float(input("Introduce el segundo número: "))
    num3 = float(input("Introduce el tercer número: "))
    
    if num1 >= num2 and num1 >= num3:
        print("El mayor es: ", num1)
    
    elif num2 >= num1 and num2 >= num3:
        print("El mayor es: ", num2)
    
    else:
        print("El mayor es: ", num3)
    

  13. Ingresa una cadena de caracteres por teclado.
    Si es "hola" mostrarla en pantalla.

    Haz clic aquí para ver la solución propuesta
    Python
    cadena = input("Ingrese una cadena: ")
    
    # El método lower() aplicado a `cadena` convierte la cadena en minúsculas, temporalmente, antes de hacer la comparación
    if cadena.lower() == "hola":
        print(cadena)
    

    ¡Para pensar!

    ¿Por qué crees que se debe aplicar el método lower() en este programa?

    ??? Haz clic aquí para ver la respuesta"

    El método `lower()` se utiliza en este programa para convertir la cadena de entrada en minúsculas. Esto se hace para que **la comparación no distinga entre mayúsculas y minúsculas**.
    
    Por ejemplo, si el usuario ingresa "Hola", "HOLA" u "hOlA", al aplicar el método `lower()`, todas estas entradas se convierten en "hola", lo que permite que la comparación `cadena.lower() == "hola"` sea verdadera en todos estos casos.
    
    Por lo tanto, el uso de `lower()` aquí permite que el programa acepte la entrada independientemente de cómo el usuario elija usar las mayúsculas y minúsculas.
    

    ¿Qué significa convertir temporalmente un tipo de dato en otro durante el cálculo de una expresión?

    ??? Haz clic aquí para ver la respuesta"

    Convertir temporalmente un tipo de dato en otro durante el cálculo de una expresión se refiere a cambiar el tipo de dato de una variable o valor para realizar una operación específica, que si no fuera convertido resultaría imposible de realizar por ser incompatible.
    

    ¿Por qué se utiliza este procedimiento temporal? ¿Y cómo se lo llamaba?

    ??? Haz clic aquí para ver la respuesta"

    Es importante notar que esta conversión es temporal y no afecta el valor original. En el programa anterior, el valor almacenado en `cadena` después de la operación `cadena.lower()` sigue siendo el mismo que fuera ingresado por el usuario.
    
    Convertir temporalmente un tipo de dato en otro durante el cálculo de una expresión se refiere al concepto de "casting" o "conversión de tipos" en programación.
    

  14. Escribe un programa que pida al usuario un carácter y muestre un mensaje si el carácter es una vocal.

    Haz clic aquí para ver la solución propuesta con una estructura alternativa doble anidada
    Python
    caracter = input("Introduce un carácter: ")
    
    if caracter.lower() == 'a':
        print("El carácter", caracter, "es una vocal.")
    
    elif caracter.lower() == 'e':
        print("El carácter", caracter, "es una vocal.")
    
    elif caracter.lower() == 'i':
        print("El carácter", caracter, "es una vocal.")
    
    elif caracter.lower() == 'o':
        print("El carácter", caracter, "es una vocal.")
    
    elif caracter.lower() == 'u':
        print("El carácter", caracter, "es una vocal.")
    
    else:
        print("El carácter", caracter, "no es una vocal.")
    
    Haz clic aquí para ver la solución propuesta con una expresión condicional compuesta
    Python
    caracter = input("Introduce un carácter: ")
    
    if caracter.lower() == 'a' or caracter.lower() == 'e' or caracter.lower() == 'i' or caracter.lower() == 'o' or caracter.lower() == 'u':
        print("El carácter", caracter, "es una vocal.")
    
    else:
        print("El carácter", caracter, "no es una vocal.")
    
    Haz clic aquí para ver la solución propuesta en Python
    Python
    caracter = input("Introduce un carácter: ")
    
    if caracter.lower() in 'aeiou':
        print("El carácter", caracter, "es una vocal.")
    
    else:
        print("El carácter", caracter, "no es una vocal.")
    

  15. Escribe un programa que solicite al usuario que ingrese su nombre, su nacionalidad y su edad. Si la nacionalidad es argentina y el usuario es mayor de edad, permitirle votar. Si no, indicarle el motivo por el cual no puede votar.

    Terminal (Entrada/Salida)
    Ingrese su nombre: Pablo
    Ingrese su nacionalidad: argentina
    Ingrese su edad: 45
    
    Bienvenido Pablo. Puedes pasar a votar.
    
    Terminal (Entrada/Salida)
    Ingrese su nombre: Pablo
    Ingrese su nacionalidad: argentina 
    Ingrese su edad: 17
    
    Lo lamento Pablo. No puedes pasar a votar porque no eres mayor de edad.
    
    Terminal (Entrada/Salida)
    Ingrese su nombre: Pablo
    Ingrese su nacionalidad: ingles 
    Ingrese su edad: 56
    
    Lo lamento Pablo. No puedes pasar a votar porque no eres de nacionalidad argentina.
    
    Terminal (Entrada/Salida)
    Ingrese su nombre: Pablo
    Ingrese su nacionalidad: ingles
    Ingrese su edad: 17
    
    Lo lamento Pablo. No puedes pasar a votar porque no eres de nacionalidad argentina y no eres mayor de edad.
    
    Haz clic aquí para ver la solución propuesta
    Python
    nombre = input("Ingrese su nombre: ")
    nacionalidad = input("Ingrese su nacionalidad: ")
    edad = int(input("Ingrese su edad: "))
    
    # La persona es argentina y es mayor de edad
    if nacionalidad == "argentina" and edad >= 18:
        print(f"Bienvenido {nombre}. Puedes pasar a votar.")
    
    else:
        print(f"Lo lamento {nombre}. No puedes pasar a votar porque", end=" ")
    
        # La persona no es argentina ni es mayor de edad
        if nacionalidad != "argentina" and edad < 18:
            print("no eres de nacionalidad argentina ni eres mayor de edad.")
    
        # La persona no es argentina
        elif nacionalidad != "argentina":
            print("no eres de nacionalidad argentina.")
    
        # La persona no es mayor de edad
        else:
            print("no eres mayor de edad.")
    

  16. Escribe un programa que solicite al usuario que ingrese un texto.
    El Programa deberá indicar, luego, si el texto está todo en mayúsculas o todo en minúsculas.

    ¡Para recordar!

    Todo programa, siempre, debe devolver un resultado.

    ¡Atención! Alcance y Limitación

    Asumimos que el usuario siempre va a ingresar un texto válido. Es decir, con letras.
    Para cualquier otro caso, se desestimará el resultado obtenido.

    Haz clic aquí para ver la solución propuesta
    Python
    texto = input("Ingrese un texto: ")
    
    if texto.isupper():
        print("Todo el texto está en mayúsculas.")
    
    elif texto.islower():
        print("Todo el texto está en minúsculas.")
    
    else:
        print("El texto está en mayúsculas y en minúsculas.")
    

  17. Escribe un programa que pida al usuario dos palabras y determine si son un anagrama (una palabra es un anagrama de otra si usa las mismas letras en un orden diferente).

    ¡Una ayudita!

    En Python, una cadena de caracteres puede ser tratada como una lista de caracteres.
    Esto significa que cada caracter es un elemento individual de un grupo de caracteres.
    Y que cada grupo puede ser ordenado para una mayor conveniencia utilizando la palabra clave o función

    sorted(grupo_para_ordenar)
    

    Donde grupo_para_ordenar es la variable que contiene la cadena de caracteres o la cadena de caracteres (literal) directamente.

    Teniendo en cuenta lo indicado, ¿Cómo se te ocurre que podemos aprovechar esta función para resolver el problema?

    Haz clic aquí para ver la solución propuesta
    Python
    palabra1 = input("Introduce la primera palabra: ")
    palabra2 = input("Introduce la segunda palabra: ")
    
    if sorted(palabra1) == sorted(palabra2):
        print("Las palabras son anagramas.")
    
    else:
        print("Las palabras no son anagramas.")