A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Recursividade, Entrada pelo teclado e Funções com retorno Dilvan Moreira.

Apresentações semelhantes


Apresentação em tema: "Recursividade, Entrada pelo teclado e Funções com retorno Dilvan Moreira."— Transcrição da apresentação:

1 Recursividade, Entrada pelo teclado e Funções com retorno Dilvan Moreira

2 Lembrando...  Funções devem serem definidas antes de seu primeiro uso  É possível definir suas próprias funções com parâmetros  A função funciona para mais de um tipo de dados. def printTwice(bruce): print bruce, bruce

3 Lembrando..  Por que a linha de código print cat não funciona??? def catTwice(part1, part2): cat = part1 + part2 printTwice(cat) chant1 = "Pie Jesu domine, " chant2 = "Dona eis requiem. " catTwice(chant1, chant2) print cat

4 Lembrando...  Operadores de comparação: x == y # x é igual a y x != y # x é diferente de y x > y # x é maior que y x < y # x é menor que y x >= y # x é maior ou igual a y x <= y # x é menor ou igual a y  Erro comum: (=) é diferente de(==)

5 Lembrando...  Operadores lógicos:  and corresponde a “e”  intercessão X > 0 and x < 10  or corresponde a “ou”  união dos conjuntos n%2 == 0 or n%3 == 0  not corresponde a “não”  negação not(x > y)

6 Lembrando...

7  Condição que muda o comportamento do programa. if x > 0: print "x é positivo“  Se a condição for verdadeira a instrução endentada é executada  Se não, nada acontece.

8 Objetivos  Entender como utilizar recursividade, entrada pelo teclado e Funções com retorno.  Leitura:  do livro “Think Python” Cap. 5.8 ao Cap. 6.1

9 A instrução return  Permite terminar a execução antes que ela alcance o fim  Pode ser usada como uma forma de detectar uma condição de erro

10 A instrução return import math def imprimeLogaritmo(x): if x <= 0: print "Somente números positivos." return resultado = math.log(x) print "O log de x é ", resultado

11 Recursividade  É valido uma função chamar a si mesma  O processo de uma função chamando a si mesma é chamado de recursividade, e tais funções são ditas recursivas.

12 Recursividade def contagemRegressiva(n): if n == 0: print "Fogo!" else: print n contagemRegressiva(n-1)  O que essa função faz se for passado 3 como parâmetro?

13 Recursividade  contagemRegressiva começa com n=3, e desde que n não é 0, produz como saída o valor 3, e então chama a si mesma...  contagemRegressiva começa com n=2, e desde que n não é 0, produz como saída o valor 2, e então chama a si mesma...  contagemRegressiva começa com n=1, e desde que n não é 0, produz como saída o valor 1, e então chama a si mesma...

14 Recursividade  contagemRegressiva começa com n=0, e desde que n é 0, produz como saída a palavra "Fogo!" e então retorna.  contagemRegressiva que tem n=1 retorna.  contagemRegressiva que tem n=2 retorna.  contagemRegressiva que tem n=3 retorna.  Volta ao fluxo principal do programa

15 Recursividade  Saída impressa na tela: 3 2 1 Fogo

16 Recursividade infinita  Se uma recursividade nunca chega ao fim  O programa nunca termina def recursiva(): recursiva()  Não roda para sempre  Python reporta uma mensagem de erro quando a profundidade máxima de recursividade é alcançada

17 Entrada pelo teclado  Funções nativas que pegam entradas do teclado.  A mais simples é raw_input  O programa espera o usuário digitar algo e apertar a tecla Enter ou Return.  Após o Enter, o programa retorna o que o usuário digitou para uma string.

18 Entrada pelo teclado  Entrada de uma string >>> nome = raw_input(“Nome? ") Nome? Arthur, Rei dos Bretões! >>> print nome Arthur, Rei dos Bretões!

19 Entrada pelo teclado  Entrada de um inteiro deixa = "Qual... é a velocidade?\n" velocidade = input(deixa)  O programa trava caso seja digitado um caractere em vez de um número  Para evitar esse tipo de problema, se usa raw_input para pegar uma string e depois converte ele para inteiro

20 Valores de retorno  Funções produzem resultados. e = math.exp(1.0) height = radius * math.sin(radians)  O resultado pode ser atribuído à uma variável, ou usado como parte de uma expressão.  Mas como criar uma função que retorne um valor??

21 Valores de retorno  Esta função retorna a área de um círculo, passando como parâmetro o raio import math def area(radius): temp = math.pi * radius**2 return temp

22 Valores de retorno  return significa: "Retorne imediatamente desta função e use a expressão em seguida como um valor de retorno”  Poderíamos ter reescrito a função anterior desta forma: def area(radius): return math.pi * radius**2  Porém com o uso da variável temp, fica mais fácil a depuração.

23 Múltiplos comandos de return  Apenas um return será executado:  Quando qualquer return executará, a função termina a execução def absolute_value(x): if x < 0: return -x else: return x

24 return  O linha de código print x será executado??? def absolute_value(x): if x < 0: return –x print x  Não, pois existe um return antes.

25 Múltiplos comandos de return def absolute_value(x): if x < 0: return -x if x > 0: return x print absolute_value(0)  Qual será a saída?

26 Perguntas?


Carregar ppt "Recursividade, Entrada pelo teclado e Funções com retorno Dilvan Moreira."

Apresentações semelhantes


Anúncios Google