Created
September 11, 2017 01:12
-
-
Save harpiechoise/de733b6e3d4ad6dbc3ae634763b82747 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "raw", | |
"metadata": {}, | |
"source": [ | |
"PROGRAMACIÓN EN PHYTON\n", | |
"Dada una cadena de caracteres crear una función que devuelva la cantidad de letras mayúsculas, minúsculas y números (en ese orden) que contiene separadas por un espacio.\n", | |
"\n", | |
"Input\n", | |
"La primera entrada será un entero correspondiente a la cantidad de casos de prueba, luego un caso por cada línea con caracteres Alfanuméricos\n", | |
"\n", | |
"Output\n", | |
"Se espera como salida 3 enteros separados por espacios correspondientes a la cantidad de letras mayúsculas, minúsculas y números en ese orden.\n", | |
"\n", | |
"Example\n", | |
"Input:\n", | |
"4\n", | |
"PruEbA\n", | |
"31KpTmx\n", | |
"\n", | |
"827HoLamunDo354\n", | |
"\n", | |
"Output:\n", | |
"3 3 0\n", | |
"2 3 2\n", | |
"0 0 0\n", | |
"3 6 6" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 97, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"\n", | |
"def ejrcicio1(cdp):\n", | |
" #Creamos un array para almacenar el texto para analizar\n", | |
" cadenas = []\n", | |
" #Creamos un iterador para obtener las cadenas con los correspondientes casos de prueba\n", | |
" for i in range(cdp):\n", | |
" # Solicitamos y alacenamos la info\n", | |
" cad = input(\"Ingrese la cadena \"+ str(i+1) +\":\" )\n", | |
" cadenas.append(cad)\n", | |
" \n", | |
" #Creamos una funcion anidada para contar numeros \n", | |
" def contarNum(cad):\n", | |
" #Recorremos la cadena\n", | |
" num = 0\n", | |
" for i in cad:\n", | |
" #Comprobamos si el caracter es un numero\n", | |
" try:\n", | |
" int(i)\n", | |
" except:\n", | |
" num = num - 1\n", | |
" num = num + 1\n", | |
" #Retornamos el numero\n", | |
" return num\n", | |
" \n", | |
" #Creamos la segunda funcion anidada para contar mayusculas \n", | |
" def contarMayus(cad):\n", | |
" num = 0\n", | |
" for i in cad:\n", | |
" #A que no se les habia ocurrido esa manera de saber si un caracter es mayuscula\n", | |
" if not (i.lower() == i):\n", | |
" num = num + 1\n", | |
" else:\n", | |
" pass\n", | |
" return (num)\n", | |
" \n", | |
"\n", | |
" def contarMinus(cad):\n", | |
" #Lo mismo\n", | |
" num = 0\n", | |
" for i in cad:\n", | |
" if not ( i.upper() == i ):\n", | |
" num = num + 1\n", | |
" else:\n", | |
" pass\n", | |
" return num\n", | |
" \n", | |
" resultset = []\n", | |
" for i in cadenas:\n", | |
" #Podria haber terminado aqui simplemente imprimiendo pero creo que hacerlo a lo dificil enseña algo mas\n", | |
" num1 = contarMayus(i)\n", | |
" num2 = contarMinus(i)\n", | |
" num3 = contarNum(i)\n", | |
" \n", | |
" resultset.append(num1)\n", | |
" resultset.append(num2)\n", | |
" resultset.append(num3)\n", | |
" print(\"\\n\")\n", | |
" for i in range(len(resultset)):\n", | |
" \n", | |
" if (i + 1) % 3 == 0 and i > 1:\n", | |
" print(str(resultset[i]) + \"\\n\" )\n", | |
" else:\n", | |
" print(str(resultset[i]) + \" \", end=\"\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 100, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Ingrese La Cantidad de casos de prueba: 4\n", | |
"Ingrese la cadena 1:PruEbA\n", | |
"Ingrese la cadena 2:31KpTmx\n", | |
"Ingrese la cadena 3:\n", | |
"Ingrese la cadena 4:827HoLamunDo354\n", | |
"3 3 0\n", | |
"\n", | |
"2 3 2\n", | |
"\n", | |
"0 0 0\n", | |
"\n", | |
"3 6 6\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"try:\n", | |
" cs = int(input(\"Ingrese La Cantidad de casos de prueba: \" ))\n", | |
"except:\n", | |
" print(\"El Caracter no es un numero continuando... \")\n", | |
"ejrcicio1(4)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.0" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment