Combinando las funciones y tareas repetitivas
Después de haber entendido las piezas básicas de una lengua, es el momento de empezar a ponerlos juntos en formas interesantes. Por ejemplo, puede crear una función que puede realizar tareas de forma repetitiva. El objetivo es hacer que la parte repetitiva de la aplicación más flexible para que se pueda repetir tareas según sea necesario. Una buena manera de ver la repetición es mediante la creación de una tabla de multiplicar. El siguiente listado muestra un método para lograr este objetivo:
def PrintTimesTable (XStart = 1, xend = 11, ystart = 1, yEnd = 11): X = XStartY = YStartprint ('{:> 4}'. format (''), final = '') para X en el rango ( ystart, yEnd): print ('{:> 4}'. format (X), final = '') print () para X en el rango (XStart, xend): print ('{:> 4}.' formato ( X), final = '') mientras que Y lt; YEnd: print ('{:> 4}'. Format (X * Y), final = '') Y + = 1print () Y = YStartPrintTimesTable () print () PrintTimesTable (8, 12) print () PrintTimesTable (4, 6, 5, 8) print () PrintTimesTable (ystart = 5, yEnd = 9)
El código repetitiva utilizado para crear la tabla de multiplicar se ha colocado en una función llamada PrintTimesTable () que acepta un número variable de argumentos de entrada. Estos argumentos definen los valores de inicio y finalización para las filas (X) Y columnas (Y) de la mesa. Los argumentos son opcionales porque tienen valores predefinidos. Puede optar por definir ninguno o algunos de los argumentos, o puede utilizar argumentos con nombre como entrada, como se muestra en el código de ejemplo. El punto es que existirán los cuatro argumentos y proporcionar valores a la aplicación.
Usted podría haber creado el mismo ejemplo usando valores constantes, pero este ejemplo utiliza valores de las variables para que la salida sea más flexible. Por ejemplo, X y Y se establecen en los valores iniciales definidos por XStart y Ystart, respectivamente. El valor de estas variables no se conoce hasta el tiempo de ejecución. Una ventaja de usar las constantes es que los valores se conocen en tiempo de compilación, y Python puede ayudarle a evitar problemas potenciales con los valores de entrada.
La parte de salida del ejemplo comienza inmediatamente después de la asignación de valores a X y Y. Para hacer que la mesa de lectura, este ejemplo debe crear un encabezado en la parte superior y otro en el lateral. Cuando los usuarios ven un 1 en la parte superior y un 1 a un lado, y sigue estos valores a los que se cruzan en la tabla, se puede ver el valor de los dos números cuando se multiplica.
El primero impresión() sentencia añade un espacio (porque no aparece nada en la esquina de la mesa). Todo el estado de formateo dice es crear un espacio de cuatro caracteres de ancho y colocar un espacio dentro de él. los {:> 4} parte del código determina el tamaño de la columna. los Formato (' ') función determina lo que aparece en ese espacio. El atributo final de la impresión() declaración cambia el carácter final de un retorno de carro a un espacio simple.
El primero para bucle muestra los números en la parte superior de la mesa. Los números que se muestren dependen de la Ystart y YEnd valores de entrada.
En este punto, el cursor está sentado al final de la fila de encabezado. Para mover a la siguiente línea, el código emite una impresión() llame sin más información.
A pesar de que el siguiente bit de código es bastante complejo, puede averiguarlo si nos fijamos en una línea a la vez. La tabla de multiplicar muestra los valores del XStart * ystart a Xend * yEnd, por lo que necesita X filas y Y columnas para mostrar la información. los para declaración le dice a Python para crear X filas.
El primero impresión() llamada muestra el valor de las partidas seguidas. Por supuesto, usted tiene que formatear esta información, y el código utiliza un espacio de cuatro personajes que terminan con un espacio, en lugar de un retorno de carro, con el fin de continuar con la impresión de información en esa fila.
los mientras loop viene a continuación. Este bucle imprime las columnas en una fila individual. Los valores de las columnas son los valores multiplicados de X * Y. Una vez más, la salida se formatea para ocupar cuatro espacios. los mientras bucle termina cuando Y se actualiza para el siguiente valor usando Y + 1 =.
Ahora que está de vuelta en el para lazo. los impresión() declaración termina la fila actual. En adición, Y debe restablecer a 1 por lo que está listo para el comienzo de la siguiente fila, que comienza con 1. Al ejecutar esta aplicación, usted ve las cuatro tablas que se muestran en la siguiente captura de pantalla.