miércoles, 6 de mayo de 2015

MASTERY 29 Validated user input in Python

VALIDAR AL USUARIO EL USO DEL INPUT EN PYTHON

De lo que entendí en esta parte es que el "input" se puede utilizarse como un loop de acuerdo a las condiciones que el usuario ponga. Tomemos el ejemplo de la WSQ09 otra vez.
 En el loop dice que la operación se seguirá haciendo si la variable "quiereSeguir" es igual a "y", que significa sí. Hay 2 inputs, pero la segunda es la que se debe tomar en cuenta. Se pone la variable anterior para poner un "input" con un texto si es que quiero seguir: sí o no, o en este caso "y/n". Contestó "y" y el programa correrá y me preguntará por otro valor que poner. Pongo "n" u otro valor y el programa se detendrá. Aquí el output:
Aquí contesté "y" 4 veces después de que el programa me pregunta si es que quería seguir. En el quinto intento decidí parar y puse "n" para terminar la operación.

MASTERY 28 User input(text based) in Python (basic)

USUARIO INPUT EN PYTHON CON TEXTOS

A los que han seguido mi blog, más bien, a los que han hachado un ojo a mi blog y mis códigos habrán notado que la mayoría utilizo el comando "input" con un texto dentro de un paréntesis. El chiste de esto es preguntar en forma de texto al usuario qué valores poner. Recomendaría hacer esto porque de lo contrario, puede que el usuario no sepa que poner y ponga un valor que el programa no pueda correr. Utilizaré el ejemplo de la Factorial de la WSQ09.
 Si ven ahí en las líneas 16 y 22, se utilizó el comando "input" con un texto. Esto es lo que se mostrará en el output al usuario y decirle que valor poner debido a que es un loop:

MASTERY 27 Creation and use of dictionaries

CREACIÓN Y USO DE DICCIONARIOS

Sabemos qué es un diccionario ¿no? Un diccionario contiene listas de unos valores con sus respectivos elementos.  Es muy general que digamos. Los índices de los diccionarios son conocidos como llaves. La forma de crear un diccionario es con el comando "dict()". VComo una lista, nosotros podemos poner un diccionario vacío con esto: "()". Si le queremos agregar más valores, hay que hacer esto:
Notarán algunas cosas en el output: una son las llaves o brackets "{}". Esto determina que lo que se imprimió fue un diccionario. Otra sería las llaves con sus respectivos valores. La llave es a sus valores como una palabra es a sus defunciones. Y la tercera sería el orden en que se presentan. El programa de Python está programada en dar ordenes alternos y es muy impredecible en que posición quedarían.

MASTERY 26 Creation and use of strings

CREACIÓN Y USO DE STRINGS

Habíamos vistos los diferente tipos básicos de valores y "string" es uno de ellos. String es algo parecido a una lista, solo que es una secuencia de caracteres.  Hay varias formas de utilizar el string. Uno de esos es identificar que carácter está en determinada posición. Aquí un ejemplo:
El que está dentro de los corchetes se le conoce como índice.
Otra forma de utilizar los "strings" es el uso del comando "len". Varios habrán visto en algunos WSQ o Masteries este comando. Aquí un ejemplo:
Aquí se contó el número de caracteres que había en ese "string".
Otra forma de utilizarlos es "slice". Lo que hace es tomar ciertos caracteres dependiendo de unos límites. Aquí un ejemplo: 
Aquí se tomó 2 variables: la primera determina desde la posición 0 hasta 5 del "string" y la otra va desde 6 hasta al final. Si se hubiera puesto [0:4] en la primera variable, el output te mostraría "Terr".
Además, los strings son como los tuples, es decir, son inmutables. Aquí un ejemplo d ello:
Hay varias formas de utilizar strings, pero solo mostré algunas que son muy comunes.

Por cierto, si alguien se pregunta quien es Terra Branford, ella es la protagonista del juego Final Fantasy 6.

MASTERY 25 Creation and use of ranges

CREACIÓN Y USO DE RANGOS

Habíamos visto el uso de rangos en un loop hace tiempo. Primero que nada, el comido "range"trata de establecer límites dentro de una secuencia de valores. La estructura principal de "range" es la cantidad de parámetros que se van a utilizar. Solo se puede hasta 3 parámetros y cada uno trabaja de una forma diferente.
Vamos con el primer parámetro utilizando el ejemplo del Mastery 20 acerca de las potencias:
Vemos que en la línea 3 se utiliza un loop con un rango y el único parámetro es "b". Esto es (0, b), o para ser un poco más claro, se hará la multiplicación hasta "b"· veces. Si la potencia es 5, se hará hasta 5 veces la misma operación.

Utilizaremos 2 parámetros con esto:

 1 está en el primer parámetro y es donde empieza el límite y "n" sería el segundo límite, donde se acaba. Ponemos 5  y nos dará esto:
Sin embargo, solo se llega hasta 4. Es debido a la posición de los valores "x". Empiezan desde 0 y este número se toma en cuenta. Si queremos solucionar esto, habría que utilizar 3 parámetros. Utilizaremos el mismo ejemplo:
El 3ª parámetro se utiliza cuántas unidades tomaré y cuántas se saltará. En este caso, el parámetro es 1 y se tomará cada variable en 1 en 1 y el resultado sería esto:


Si ponemos 2, tomaría cada valor de "x" en 2 en 2 y esto sucedería:
Hay que recordar que solo se pueden utilizar 3 parámetros. 4 o más y se producirá un error.

MASTERY 24 Creation and use of tuples in Python

CREACIÓN Y USO DE TUPLES

Un "tuple" es como una lista que contiene elementos de cualquier valor y tipo. La principal diferencia entre un "tuple" y una lista es que los "tuples" no son mutables, es decir, no se pueden modificar a la hora de correr el programa. Para diferencia de un "tuple" y una lista visualmente es el uso de paréntesis o "()". Bueno, de hecho, no se usa mucho los paréntesis; se puede utilizar solo paréntesis y una coma. Otra forma de crear un tiple es utilizar el comando "tuple" y paréntesis. Utilizaremos la mastery anterior

Voy a modificar la primera línea sustituyendo los corchetes con paréntesis:

Vemos que en la línea 3 se quiere sustituir la posición número 1 de la lista "sel" de un 8 a un 3. Intentamos hacer esto con un "tuple" y esto nos mostrará en el output:

Los tupes tienen varias funciones. Uno sería el uso del comando "divmod". Este toma 2 argumentos y los regresa con 2 valores diferentes que serían el cociente y el residuo. Aquí un ejemplo:

Otra función sería el "zip" con listas. Tenemos 2 variables: una con "tuple" y otra con una lista. Juntamos esto con "zip" y esto nos dará: 

MASTERY 23 Creation and use of lists in Python

CREACIÓN Y USO DE LISTAS EN PYTHON

Una lista es como un grupo que contiene diferentes valores y elementos. Una ventaja de esas listas en Python es que se pueden poner cualquier tipo (integer, float, string). Para crear una lista se debe de ponder corchetes o "[]". Se puede poner cualquier valor o también variables o dejar la lista vacía.
Las listas tienen varias funciones, aquí un ejemplo de esto:
El .append sirve para agregar valores.
El .remove sirve para quitar valores
El .extend sirve para juntar una lista con otra.
Si escribimos como está en la línea 3, lo que hará es sustituir un valor en determinada posición con otro valor.
El comando "len" se utiliza para contar el número de valores que hay en una lista.
Aquí el output:
Se imprime la lista "ral" tal como está, se imprime la lista "sel" luego de agregarle el valor 6, remover 10, sustituir 8 por un 3 y juntar esa lista con la otra.
La lista es mutable, es decir, se le puede modificar los valores dentro cuando el programa corre el código.
Podemos utilizar varios métodos con estas listas. Aquí el ejemplo del QUIZ10.
Se creó una lista vacía, se declaró una variable y se puso un loop donde se agregará un valor diferente a la lista hasta 5 veces. Dentro de la función se crea otra lista para agregar los valores de la lista anterior ya hechos con una operación. El output sería esto: