Contador de texto.
Resultados del Análisis
Cantidad total de letras, números y caracteres: 0
Cantidad total de letras: 0
Cantidad total de números: 0
Cantidad total de caracteres: 0
Cantidad total de palabras completas: 0
Cantidad total de conjunto de elementos (palabras y números): 0
Cantidad total de números y caracteres especiales: 0
import re
def analizar_texto_python_iterativo(texto_entrada):
texto = texto_entrada.strip()
elementos = [item for item in texto.split() if item]
soloPalabrasCompletas = [item for item in elementos if re.fullmatch(r'[a-zA-Z]+', item)]
soloNumeros = re.findall(r'd+(?:.d+)?', texto) # Corregido: el grupo no debe ser capturante si vas a contar
total_digitos = 0
total_caracteres_especiales = 0
for caracter in texto:
if caracter.isdigit():
total_digitos += 1
elif not caracter.isalnum() and not caracter.isspace():
total_caracteres_especiales += 1
totalCaracteresSinEspacios = len(re.sub(r's', '', texto))
totalLetras = len(re.sub(r'[^a-zA-Z]', '', texto))
totalElementos = len(elementos)
totalNumerosYCaracteresEspeciales = len(soloNumeros) + total_caracteres_especiales
mensajePalabrasVacias = ""
if not soloPalabrasCompletas:
mensajePalabrasVacias = "No se encontraron palabras completas en el texto."
resultados = {
"conteoTotalCaracteresSinEspaciosElemento": totalCaracteresSinEspacios,
"conteoLetrasElemento": totalLetras,
"conteoNumerosElemento": len(soloNumeros),
"conteoCaracteresEspecialesElemento": total_caracteres_especiales,
"conteoPalabrasCompletasElemento": len(soloPalabrasCompletas),
"conteoElementosElemento": totalElementos,
"conteoNumerosYCaracteresEspecialesElemento": totalNumerosYCaracteresEspeciales,
"mensajePalabrasVaciasElemento": mensajePalabrasVacias
}
return resultados
if __name__ == "__main__":
texto_ingresado = input("Ingrese el texto aquí: ")
resultados_analisis = analizar_texto_python_iterativo(texto_ingresado)
print("
Resultados del Análisis (con conteo iterativo):")
print(f"Cantidad total de letras, números y caracteres: {resultados_analisis['conteoTotalCaracteresSinEspaciosElemento']}")
print(f"Cantidad total de letras: {resultados_analisis['conteoLetrasElemento']}")
print(f"Cantidad total de números: {resultados_analisis['conteoNumerosElemento']}")
print(f"Cantidad total de caracteres especiales: {resultados_analisis['conteoCaracteresEspecialesElemento']}")
print(f"Cantidad total de palabras completas: {resultados_analisis['conteoPalabrasCompletasElemento']}")
print(f"Cantidad total de conjunto de elementos (palabras y números): {resultados_analisis['conteoElementosElemento']}")
print(f"Cantidad total de números y caracteres especiales: {resultados_analisis['conteoNumerosYCaracteresEspecialesElemento']}")
if resultados_analisis['mensajePalabrasVaciasElemento']:
print(f"{resultados_analisis['mensajePalabrasVaciasElemento']}")