Revisión del curso

--Originally published at Migue´s Blog

Y estamos por finalizar el semestre y ya es momento de realizar una revisión sobre lo revisado en este curso de propgramación enfocado en python 3.

Este curso fue diferente a los demás, no tuvimos un profesor enfrente de nosotros hablandonos clase a clase, en este curso nostros fuimos los que aprendimos y desarrollamos nuetras habilidades, el profesor no estaba para enseñarnos e imponernos actividades, el estaba para poyarnos y ayudarnos a seguir creciendo.

En este curso vimos desde lo más básico, como fue crear variables de tipo int, y string, para después utilizarlas en otras operaciones.

Tambien vimos como utilizar diferentes funciones que nos simplifican mucho el código y nos hacen el trabajo de programar mucho más fácil.

Como las posibilidades son infinitas python no contiene todas las funciones, por lo que también aprendimos a crear nuestras propias funciones para posteriormente utilizarlas en nuestro programa.

También revisamos como utilizar los diferentes tipos de condicionales y ciclos, para poder utilizar el que ocupamos y hacernuestros progamas más eficaces y sencillos de entender, en lugar de tener código inutil de más.

 

 


Usar la recursión para algoritmos repetitivos

--Originally published at Migue´s Blog

Muchas veces realizamos algoritmos que tienen que realizar el mismo proceso varias veces, si escribieramos todo el código para cada vez que se tiene que repetir las mismas instrucciones nuestro código quedaría demasiado largo y confuso.

Para evitar esto utilizamos la recuersión, la cual consiste en llamar a una función dentro de esa misma función.

captura-de-pantalla-de-2016-11-23-23-55-24


Leer y escribir documentos en Python

--Originally published at Migue´s Blog

En Python puedes abrir un doxumento para utilizar o leer los datos que se encuentran en él.

Para abrir un documento se hace de la siguiente manera.

captura-de-pantalla-de-2016-11-24-00-42-17

primero se escribe la variable en donde se guardará, después el signo igual, seguido de la función open, la función open utiliza 2 argumentos, el primero la ubicación del archivo, si el archivo se encuentra en la misma carpeta que el programa solo se necesita escribir el nombre del archivo, el seguno argumento es el modo, existen 4 modos.

“r”  Solo para leer datos.

“w”  Solo para escribir datos.

“a”  Para agregar datos al final del archivo

“r+”  Para leer y escribir datos.

Para crear un documento se escribe la variable, seguido de open, el nombre que le asignaremos al documento y con el modo “w” para poder escribir en el.

Para escribir en el utilizamos write.

captura-de-pantalla-de-2016-11-24-00-49-01


Validación de la entrada del Usuario.

--Originally published at Migue´s Blog

Cuando requerimos que el usuario introduzca datos es muy importante que nos aseguremos que el usuario esta introduciendo datos que el programa pueda utilizar, o datos que nostros ocupemos, debido a que si el usuario introduce otro tipo de datos nuestro programa puede fallar y crashear.

captura-de-pantalla-de-2016-11-24-00-24-34

captura-de-pantalla-de-2016-11-24-00-25-28

Para evitar esto podemos utilizar un ciclo, el cual regrese al usuario a introducir los datos hasta que ingrese un resultado válido.

captura-de-pantalla-de-2016-11-24-00-32-24captura-de-pantalla-de-2016-11-24-00-32-07

Utilizamos el ciclo while para que se mantenga pidiendo información hasta que se rompa el ciclo.

con la Función “try” pedimos los datos, con  la función “except” analizamos si los datos solicitados son un error, de ser así se ejecuta su bloque de innstrucciones y con la función “else” se rompe el ciclo cuando se da un valor adecuado.

 


Creación de listas y Tuplas en python

--Originally published at Migue´s Blog

Las listas y Tuplas se utilizan par almacenar datos, los cuales posteriormente podemos utilizarlos, buscarlos, realizar operaciones con ellos, concatenarlos, ordenarlos, etc.

La diferencia entre una tupla y una lista es que la lista es variable, es decir durante la ejecución del programa podemos agregarle elementos con la funcion “append”, o eliminar elementos con la función “del”.

En las tuplas no se puede hacer esto, son inmutables, es decir, se quedan con los mismos valores con los que iniciaron el programa.

Para las listas se utilizan corchetes, para las tuplas parentesis.

captura-de-pantalla-de-2016-11-24-00-11-26captura-de-pantalla-de-2016-11-24-00-12-07


Uso de else y elif en python

--Originally published at Migue´s Blog

Cuando utilizamos el condicional “if”, no siempre se cumple la condición, también hay posibilidades de que la condición sea falsa, para estos casos utilizamos los condicionales “elif” y “else”.

Elif

Elif se utiliza para cuando puede haber más de una opción, y no solamente 2 (verdadero o falso), funciona igual que el “if”, solamente se entra al ciclo si se cumple la condición descrita en el, la diferencia es que solo se analiza si el “if”, y los “elif” anteriores a él son falsos, si uno es verdadero no se analiza el “elif”

captura-de-pantalla-de-2016-11-23-23-31-57captura-de-pantalla-de-2016-11-23-23-32-28

Else

Else funciona igual, la diferencia es que en el else ya no se escriben argumentos, y se analiza solamente si el “if” y los “elif” anteriores a él son falsos.

captura-de-pantalla-de-2016-11-23-23-34-26captura-de-pantalla-de-2016-11-23-23-34-42


¿Cuándo usar cada tipo de ciclo?

--Originally published at Migue´s Blog

Existen 3 tipos de condicionales.

If:

El ciclo If se utiliza para que se ejecute un grupo de ordenes 1 sola vez y solamente si se cumple la condición que marca el “If”, si es falso se salta ese bloque de comandos.

Para utilizaro se escribe “if”, seguido de la condición que se debe de cumplir, se termina la condición con 2 puntos “:” y después se escribe el bloque de instrucciones cada instrucción con una sangría, cuando se quita la sangría se acaba el bloque de instrucciones del “If”.

captura-de-pantalla-de-2016-11-23-23-07-14

while:

Funciona de una manera similar al “if”, solo se ejecuta su bloque de instrucciones si se cumple la condición establecida, la diferencia es que este ciclo se sigue repitiendo mientras la condición se siga repitiendo, para salir la condición debe de ser falsa, por lo que si no tienes cuidado puedes crear un ciclo infinito.

Para usarlo se escribe “while”, seguido de la condición, terminas la condición con dos puntos “:” y su bloque de instrucciones se escribe con sangría.

captura-de-pantalla-de-2016-11-23-23-11-08

For:

Este ciclo no usa una condición para entrar en el, siempre se ejecuta, pero este ciclo se ejecuta un determinado numero de veces, puede ser por un número ya definido, una variable con  valor númerico ya definido, por el número de elementos en una lista o el número de carácteres en un string.

Cada vez que se entra al ciclo una variable cambia de valor, normalmente se utiliza la variable “i”, esta variable adquiere un nuevo valor dependiendo del argumento, por ejemplo si utilizamos la string “Hello”, se entrará al ciclo 5 veces.

1.- i=H          2.-i=e       3.-i=l      4.-i=l        5.-i=o

Para utilizarlo se escribe “for” seguido de la variable a utilizar, después se escribe “in” seguido del argumento a analizar, se termina con dos

captura-de-pantalla-de-2016-11-23-23-17-42
captura-de-pantalla-de-2016-11-23-23-19-02
Continue reading "¿Cuándo usar cada tipo de ciclo?"

Reto: Yo soy 196

--Originally published at Migue´s Blog

Este reto consiste en identificar los posibles numeros Lycharel, los cuales son numeros que no se convierten en palyndromos después de sumar sus inversos, para este programa considere un posible candidato aquel numero que no se volvía palindromo después de sumar 30 veces su inverso

captura-de-pantalla-de-2016-10-27-01-03-46

captura-de-pantalla-de-2016-10-27-01-04-11

captura-de-pantalla-de-2016-10-27-01-03-29

captura-de-pantalla-de-2016-10-27-01-07-11

En esta parte se declaran las variables, a continuación se introduce el inicio y el final de la serie y por ultime se añade toda la sería una variable llamada “secuencia”

captura-de-pantalla-de-2016-10-27-01-07-34

Este ciclo for es el que se va a repetir por cada numero dentro de la secuencia para ver si es número Lycharel.

Primero se invierte el número y se guarda en la variable “y” para posteriormente sumarselo

captura-de-pantalla-de-2016-10-27-01-07-52

En esta sección se analiza si es un palindromo natural, es decir sin necesidad de sumar su inverso, el if y los elif sirven para descartar los numeros del 0 al 9, debido a que ellos podrian ser tomados como palindromos pero yo no los tome debido a que solo son de 1 cifra, si aun asi es palindromo natural y tiene más de una cifra se añade uno al contador de palindromos naturales y de numeros no Lycharel y s termina el ciclo para ese numero.

captura-de-pantalla-de-2016-10-27-01-08-13

Si no es palindromo entonces se comienza a analizar sumando su inverso.

El contador se utiliza para entrar al ciclo mientras sea menor que 31, si alcanza a 31 quiere decir que ya se sumo 30 veces su inverso y no se volvio palindromo, por lo que lo consideraremos como un posible candidato.

si en una de esas sumas se vuelve palindromo se acaba el ciclo para ese numero y se añade uno al contador de numeros no Lycharel

 

 


Reto: Revisar Palindromos

--Originally published at Migue´s Blog

Este reto fue de los más complicados, consistía en revisar un texto y mostrar cuantos palindromos contiene, hubiera sido más sencillo si solo se analizaban palabras como:

Bob=boB

Pero también se tiene que analizar toda la frase para ver en donde inicia y en donde termina cada palindromo por ejemplo en:

Anita lava la tina=anita lava la tinA

captura-de-pantalla-de-2016-10-27-00-40-32

captura-de-pantalla-de-2016-10-27-00-40-50

captura-de-pantalla-de-2016-10-27-00-41-38

captura-de-pantalla-de-2016-10-27-00-47-56

Aquí se declaran todas las variables a utilizar a lo largo del programa, son muchas para no revolverlas entre ellas, se irán explicando conforme se utilicen

captura-de-pantalla-de-2016-10-27-00-48-17

Con esta parte se preparan las letras a analizar:

  • linea 16: se introduce la frase
  • 17: se cambian a minusculas las letras
  • 18: se eliminan los elementos de la lista “eliminar”
  • 20: se añade cada elemento a la lista “letras_espacios” incluyendo los espacios
  • 22: Se separan las palabras por espacios, lo que elimina a los espacios de la lista
  • 23: Añade cada palabra separada a una lista
  • 25: separa las palabras en letras y las añade a otra lista
  • 29: Voltea las letras

captura-de-pantalla-de-2016-10-27-00-48-48

En esta sección se analizan las letras para identificar los palindromos,

Se analiza cada letra de la lista de letras que tiene el orden correcto, con la lista de letras con el orden invertido, si las letras son iguales se añade esa letra a una lista de “palindromos”, si no se agrega un espacio para separar los palindromos ya identificados y se continuan analizando las siguientes letras.

captura-de-pantalla-de-2016-10-27-00-49-02

En esta parte ya se tienen todos los palindromos identificados, pero sin espacios, por ejemplo se imprimiria “anitalavalatina”

por lo que se comparan las letras de la lista “palindromos” con la de la lista “letras_espacios”, si son iguales los elementos se añade a la lista”palindromo_final”, si no es igual y en las lista “letras_espacios” no corresponde a un espacio se le

Continue reading "Reto: Revisar Palindromos"

Reto: Palabras por tipo

--Originally published at Migue´s Blog

En este reto el usuario proporciona una frase, el programa cuenta cuantas veces se repite cada palabra en la frase, y después te pregunta si quieres que te muestre una palabra en especifico.

captura-de-pantalla-de-2016-10-27-00-22-55captura-de-pantalla-de-2016-10-27-00-26-04

captura-de-pantalla-de-2016-10-27-00-29-16

En esta sección se prepara la frase para que el programa no tenga problemas al analizarla, en la linea 4 se encuentra la lista con los elementos a eliminar,

en la linea 5 se encuentra la lista que va a contar cada tipo de palabra, en la 6 se introduce la frase, la 7 la muestra, la 8 cambia todas las letras de la frase a minusculas, la 9 realiza un ciclo que elimina cada elemento incluido en la lista de la linea 4 y en la 11 se separa cada palabra de la frase como un elemento independiente de los otros.

captura-de-pantalla-de-2016-10-27-00-29-36

Con el ciclo “for” de la linea 12 cada palabra que se separo en la linea 11 se agrega a la lista “contador”, para que de esta manera cada elemento pueda ser contado

Con el ciclo for de la linea 14 se cuenta cuantas veces se repite cada elemento en la lista “contador”

captura-de-pantalla-de-2016-10-27-00-29-51

En la linea 16 se no se repite el elemento se no hace nada, si se repite se imprime cuantas veces se repitio ese elemento,

En la linea 21 se pregunta si se quiere contar una palabra en especifico, y se vuelve a contrar la palabra solicitada para volverla a mostrar en pantalla.