Combinando funções e tarefas repetitivas

Depois de ter entendido as peças básicas de uma língua, é hora de começar a colocá-los juntos de maneiras interessantes. Por exemplo, você pode criar uma função que pode executar tarefas de forma repetitiva. O objectivo é fazer com que a parte repetitiva da aplicação mais flexível de modo que ela pode repetir as tarefas conforme necessário. Uma boa maneira de ver a repetição é através da criação de uma tabela de multiplicação. A listagem a seguir mostra um método para alcançar este objectivo:

def PrintTimesTable (XStart = 1, Xend = 11, YStart = 1, YEnd = 11): X = XStartY = YStartprint ( '{:> 4}'. formato ( ''), end = '') para o X na faixa ( YStart, YEnd): print ( '{:> 4}'. formato de (X), end = '') print () para X na faixa (XStart, xend): print ( '{:> 4}.' format ( X), final = '') Y enquanto lt; YEnd: print ( '{:> 4}'. Formato (X * Y), end = '') Y + = 1print () Y = YStartPrintTimesTable () print () PrintTimesTable (8, 12) print () PrintTimesTable (4, 6, 5, 8) print () PrintTimesTable (YStart = 5, YEnd = 9)

O código repetitivo usado para criar a tabela de multiplicação foi colocado em uma função chamada PrintTimesTable () que aceita um número variável de argumentos de entrada. Estes argumentos definir os valores inicial e final para as linhas (x) E colunas (Y) Da tabela. Os argumentos são opcionais, porque eles têm valores pré-definidos. Você pode optar por definir nenhum ou alguns dos argumentos, ou você pode usar argumentos nomeados como entrada, como mostrado no código de exemplo. O ponto é que os quatro argumentos vai existir e fornecer valores para a aplicação.

Pode-se ter criado o mesmo exemplo usando valores constantes, mas este exemplo utiliza os valores das variáveis ​​de saída para fazer o mais flexível. Por exemplo, x e Y são ajustados para os valores de partida definidos pela XStart e YStart, respectivamente. O valor destas variáveis ​​não é conhecido até tempo de execução. Uma vantagem de usar constantes é que os valores são conhecidos durante o tempo de compilação, e Python pode ajudar a evitar problemas potenciais com os valores de entrada.

A parte do exemplo de saída começa imediatamente após a atribuição de valores a x e Y. Para fazer a tabela legível, este exemplo deve criar um título na parte superior e outra ao longo do lado. Quando os usuários ver um 1 no topo e um 1 ao lado, e segue esses valores para onde eles se cruzam na tabela, eles podem ver o valor dos dois números quando multiplicado.

O primeiro impressão() instrução adiciona um espaço (porque nada aparece no canto da tabela). Toda a instrução diz formatação é o de criar um espaço de quatro caracteres de largura e colocar um espaço no seu interior. o {:> 4} parte do código determina o tamanho da coluna. o formato('') função determina o que aparece naquele espaço. O atributo final do impressão() instrução altera o caractere final de um retorno de carro para um espaço simples.

O primeiro para lacete mostra os números no topo da tabela. Os números que você vê exibidos dependem do YStart e YEnd valores de entrada.

Neste ponto, o cursor está sentado no final da linha de título. Para movê-lo para a próxima linha, o código emite um impressão() call com nenhuma outra informação.

Mesmo que o próximo pedaço de código parece muito complexo, você pode descobrir se você olhar para ele uma linha de cada vez. A tabela de multiplicação mostra os valores de XStart * YStart para Xend * YEnd, então você precisa x linhas e Y colunas para exibir as informações. o para declaração diz ao Python para criar x linhas.

O primeiro impressão() chamada exibe o valor cabeçalho da linha. Claro, você tem que formatar essa informação, e o código usa um espaço de quatro caracteres que terminam com um espaço, ao invés de um retorno de carro, a fim de continuar a imprimir informações nessa linha.

o enquanto laço vem a seguir. Este ciclo imprime as colunas em uma linha individual. Os valores da coluna são os valores multiplicados de X * Y. Mais uma vez, a saída é formatada para levar até quatro espaços. o enquanto laço termina quando Y é atualizado para o próximo valor usando + Y = 1.

Agora você está de volta para o para loop. o impressão() declaração termina a linha atual. Além, Y devem ser redefinidas para 1 de modo que ele está pronto para o início da próxima linha, que começa com a 1. Quando você executar este aplicativo, você vê as quatro tabelas mostradas na imagem seguinte.

image0.jpg

menu