La intención del tutorial es ampliar la perspectiva del uso de estructuras condicionales anidadas y ciclos anidados para la solución de problemas.
A continuación se realizara un ejercicio práctico que permite ampliar el conocimiento práctico sobre estas alternativas en la programación.
el problema consiste en: Escribir un codigo en python que permita introducir una cadena de texto desde el teclado(usuario), luego identificar y contar el numero de veces que aparece cada vocal en esa cadena de texto y finalmente agregar las vocales contenidas en la cadena de texto a una lista
ejemplo:
entrada: papeleria
salida: la letra a aparece 2 veces
la letra e aparece 2 veces
la letra i aparece 1 veces
la letra o aparece 0 veces
la letra u aparece 0 veces
las vocales presentes en el texto son[a,e,i]
Estas tres variables son claves para la solución del problema:
La variable texto permite que el usuario ingrese a través de su teclado la cadena de texto
la variable vocales es de tipo lista y en ella almacenamos las vocales
la variable contadores sera útil para el conteo de la aparición de cada vocal en la cadena de texto, la inicializamos en 0
for letra in texto:
if letra.lower() in vocales:
indice = vocales.index(letra.lower())
contadores[indice] += 1
print(contadores)
2.1el ciclo for letra in texto, nos permite iterar cada uno de los caracteres(elementos) de la cadena y evaluar si estan contenidos en la lista vocales.
2.2 luego construimos una variable con el nombre de indice a la cual le asignaremos el valor del resultado de dos operaciones: un index sobre la lista vocales para conocer la posicion de cada una de las vocales en la lista: “a” ocupa la posición [0], “e” ocupa la posición [1], “i” ocupa la posición [2], “o” ocupa la posición [3] y “u” ocupa la posición [4]. y por otro lado, la operación letra.lower() para convertir cualquier entrada del usuario en una letra minuscula. esto con la intención de poderlo comparar con los valores de la lista "vocales"
2.3 finalmente se le asignara a la variable contadores el indice de cada vocal y se le sumara una unidad por cada aparición en la cadena
2.4 se agrega el print de contadores para visualizar la operación y comprender mejor el codigo. Si se observa con atención la variable contadores asumira la forma de una matriz, cada una de las filas es una iteración que esta dada por el número de caracteres introducido por el usuario en la variable de entrada que para nuestro caso es "texto"
ojo: cada una de las columnsas de esa matriz representa una vocal. La primera columna representa la vocal “a”…
for i in range(len(vocales)):
print(f’la letra {vocales[i]} aparece {contadores[i]} veces’)
3.1 for i in range(len(vocales)), este ciclo for permite que se itere en el rango de la longitud de la lista vocales
3.2 para posteriormente dar formato al print para que imprima en pantalla la vocal y el número de veces que aparece en la cadena de texto
lista_vocales = [vocales[i] for i in range(len(vocales)) if contadores[i] > 0]
print(“Las vocales presentes en el texto son:”, lista_vocales)
4.1lista_vocales = [vocales[i] for i in range(len(vocales)) if contadores[i] > 0], en este paso creamos la variable como una lista y realizamos un ciclo for acompañado de una estructura condicional para agregar las vocales que aparecen en la cadena de texto por lo menos una vez .
4.2 finalmente imprimimos en pantalla la lista_vocales con las vocales que aparecen en la cadena de texto ingresada por el usuario