En este ejercicio básico de programación en Python vamos a ver cómo obtener la cantidad de consonantes que contiene una cadena, es decir, aquellas letras que son parte del alfabeto pero que tampoco son vocales.
Para ello vamos a usar if
, for
y algunas funciones de Python 3.
Explicación del algoritmo
Para contar las consonantes de una string, primero convertimos la cadena a minúscula y así minimizamos las comparaciones. Después, recorremos la cadena carácter por carácter y en cada paso aumentamos el contador si:
- El carácter es una letra (no un espacio, signo o número)
- El carácter no es vocal
En dado caso de que ambas condiciones se cumplan, aumentamos el contador. Al final imprimimos el contador.
Contar consonantes en cadena
Es momento de ver el código de Python. Primero veamos la función para saber si un carácter es vocal:
def es_vocal(letra):
return letra in "aeiou
Después de eso vamos a recorrer la cadena e ir aumentando el contador para al final imprimir la cantidad de consonantes.
cadena = "Hola mundo. Hoy vamos a ver otro ejercicio usando Python"
# Comenzamos convirtiendo a minúsculas, así nos ahorramos comparaciones
cadena_minuscula = cadena.lower()
cantidad_consonantes = 0
for letra in cadena_minuscula:
if letra.isalpha() and not es_vocal(letra):
cantidad_consonantes += 1
print(f"En la cadena '{cadena}' hay {cantidad_consonantes} consonantes"
La comparación se hace en la línea 6, en donde comprobamos si el carácter es una letra con isalpha
, y luego comprobamos que no sea una vocal.
Poniendo todo junto
Finalmente el código completo queda como se ve a continuación:
"""
https://parzibyte.me/blog
"""
def es_vocal(letra):
return letra in "aeiou"
cadena = "Hola mundo. Hoy vamos a ver otro ejercicio usando Python"
# Comenzamos convirtiendo a minúsculas, así nos ahorramos comparaciones
cadena_minuscula = cadena.lower()
cantidad_consonantes = 0
for letra in cadena_minuscula:
if letra.isalpha() and not es_vocal(letra):
cantidad_consonantes += 1
print(f"En la cadena '{cadena}' hay {cantidad_consonantes} consonantes")
Aquí te dejo más tutoriales de programación en Python.