Portuguese, Brazilian subtitles

← 02-42 Print Numbers Solution

02-42 print_numbers - Solução

Get Embed Code
8 Languages

Showing Revision 2 created 08/01/2014 by Fran Ontanaya.

  1. Aqui está uma maneira de definir print_numbers.
  2. Vamos definir um procedimento, usando def.
  3. Ele recebe 1 entrada --
  4. vamos usar o nome n para a entrada --
  5. isso é o número até onde vamos imprimir.
  6. Agora, para fazer o loop, precisamos ter uma nova variável,
  7. que guarde as iterações do loop.
  8. Vamos usar i para isso, e i vai começar com o valor 1 -- este é o primeiro número que vamos imprimir.
  9. Precisamos de um loop agora, então, temos while
  10. e o teste que queremos é que queremos continuar
  11. até o número n, inclusive.
  12. Então, queremos imprimir os números -- todos desde 1 até n, inclusive.
  13. Portanto, nosso teste será i <= n --
  14. queremos continuar enquanto i <= n.
  15. Quando i form maior que n, isso deve parar.
  16. O que devemos fazer no corpo do loop é impromir i,
  17. e adicionar 1 a i.
  18. Não precisamos retornar nada. Apenas foi requerido
  19. que o procedimenteo imprimisse os números.
  20. Vamos então fazer um teste -- vamos imprimir os números até 3.
  21. E aqui está a saída: imprimimos 1, 2 e 3.
  22. Existem várias outras maneiras de fazer isso.
  23. Outra abordagem seria começar i com 0,
  24. usar a condição de teste i < n --
  25. e então vamos parar quando i for igual a n.
  26. Entretanto, para imprimir os números corretos, precisamos agora mover o print --
  27. queremos imprimir depois de ter adicionado 1 a i.
  28. Então, o primeiro número que devemos imprimir é 1, que é o que acontece aqui.
  29. E o último número que devemos imprimir é n, que é o que acontece aqui.
  30. Uma vez que o valor de i seja n, este teste será False,
  31. e não executamos o loop mais.
  32. Então, quando executamos isso, obtemos o mesmo resultado -- imprimimos 1, 2 e 3.
  33. Então, como outro teste, vamos ver o que acontece se passamos como entrada 0.
  34. Quando executamos isso, ele não imprime nada.
  35. Isso porque, quand i é 0, i < n avalia para False --
  36. 0 não é menor que 0 -- e, portanto, não entramos no loop nunca,
  37. e não imprimimos nada, o que parece bastante razoável.
  38. Como dissemos que deveríamos imprimir os número entre 1 e o número alvo,
  39. se o número alvo for 0, faz sentido não imprimir nada.