La combinación de 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 de modo que 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 ( `{: gt; 4}`. formato ( ` `), final =``) para X en la gama (Ystart, yEnd): print ( `{: gt; 4}` formato (X), final = ` `) print () para X en la gama (XStart, xend): print (`{: gt; 4}` .formato (X), final =` `) mientras que Y lt; YEnd: print ( `{: gt; 4}` formato (X * Y), final =` `.) Y + = 1print () Y = YStartPrintTimesTable () print () PrintTimesTable (8, 12) de impresión () PrintTimesTable (4 , 6, 5, 8) de impresión () PrintTimesTable (Ystart = 5, yEnd = 9)

El código repetitivo 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 tabla. Los argumentos son opcionales, ya que 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 los cuatro argumentos existirán y proporcionar valores a la aplicación.

Que 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 de partida definidos por XStart y Ystart, respectivamente. El valor de estas variables no se conoce hasta tiempo de ejecución. Una ventaja de utilizar las constantes es que los valores se conocen en tiempo de compilación, y Python puede ayudar 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 la tabla de fácil 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 donde 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 comunicado dice formato es crear un espacio de cuatro caracteres de ancho y colocar un espacio dentro de ella. los {: Gt; 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() instrucción cambia el carácter final de un retorno de carro a un espacio sencillo.

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 moverlo a la línea siguiente, emite el código de una impresión() llamar con ninguna otra 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 de XStart * Ystart a Xend * yEnd, así que tú necesitas x y filas 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 la fila del encabezado. Por supuesto, usted tiene que dar formato a esta información, y el código utiliza un espacio de cuatro caracteres que terminan con un espacio, en lugar de un retorno de carro, con el fin de continuar con la impresión de la información de esa fila.

los mientras bucle que 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 al valor siguiente usando Y + = 1.

Ahora que está de vuelta en el para lazo. los impresión() sentencia termina la fila actual. En adición, Y debe restablecerse a 1, de modo que está listo para el comienzo de la siguiente fila, que comienza con 1. Cuando se ejecuta esta aplicación, se ven los cuatro tablas que se muestran en la siguiente captura de pantalla.

Artículos Relacionados