s1Eva_IIT2016_T1 Analiza una frase por vocales y consonantes

Ejercicio: 1Eva_IIT2016_T1 Analiza una frase por vocales y consonantes

Propuesta de solución en Python, para:

texto = 'Algunas Palabras pArA contar en un programa con algo de Python'
Igual número de consonantes y vocales: 
5
>>>

Para facilitar el trabajo con el texto, se convierten todas las letras a mayúsculas upper().

En principio, se considera que las palabras se separan solo por espacios '  ', separando las palabras en sus partes usando la instrucción split('  '). Queda como tarea considerar otras formas de separar palabras con ',' y '.'

>>> partes
['ALGUNAS', 'PALABRAS', 'PARA', 'CONTAR',
 'EN', 'UN', 'PROGRAMA', 'CON', 'ALGO',
 'DE', 'PYTHON']
>>>

Las vocales y consonantes se referencian con los caracteres en mayúsculas.

El análisis se realiza por cada palabra, luego por cada letra, realizando el conteo de cada vocal y consonante.

>>> j=0
>>> palabra=partes[j]
>>> palabra
'ALGUNAS'
>>> 

El resultado se obtiene al comparar los contadores de vocal y consonante.

Algoritmo en Python

# CCPG1001 Fundamentos de Programación FIEC-ESPOL
# 1Eva_IIT2016_T1 Analiza frase por vocales y consonantes
# Solución propuesta: edelros@espol.edu.ec

# INGRESO
# texto = input('frase: ')
texto = 'Algunas Palabras pArA contar en un programa con algo de Python'

# PROCEDIMIENTO

# unificando todo mayúsculas
texto = texto.upper()

# Separa palabras por espacios
# Tarea: considerar ',' y '.'
partes = texto.split(' ')
m = len(partes)

vocales = 'AEIOU'
consonantes = 'BCDFGHJKLMNPQRSTVWXYZ'

cuenta = 0
j = 0
while not(j>=m):
    palabra = partes[j]

    # Analiza una palabra
    n = len(palabra)
    cvocal = 0  # contador vocal
    cconso = 0

    i=0
    while not(i>=n):
        letra = palabra[i]
        if letra in vocales:
            cvocal = cvocal + 1
        else:
            cconso = cconso + 1
        i = i + 1

    if (cvocal==cconso):
        cuenta = cuenta + 1
    j = j + 1

# SALIDA
print('Igual número de consonantes y vocales: ')
print(cuenta)