Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteiros - Desafio de Programação Resolvido em PythonQuantidade de visualizações: 716 vezes |
|
Pergunta/Tarefa: Escreva uma função recursiva em Python que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura: # função recursiva que recebe um valor e informa quantas vezes # ele aparece no vetor também informado def quant_repeticoes(indice, valor, vetor): # sua implementação aqui Sua saída deverá ser parecida com: Informe o 1 valor: 2 Informe o 2 valor: 7 Informe o 3 valor: 4 Informe o 4 valor: 7 Informe o 5 valor: 1 Informe o valor a ser pesquisado no vetor: 7 O valor informado se repete 2 vezes. Veja a resolução comentada deste exercício usando Python: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# método principal
def main():
# vamos declarar um vetor de 10 inteiros
valores = [0 for x in range(5)]
# vamos pedir ao usuário que informe os valores do vetor
for i in range(len(valores)):
valores[i] = int(input("Informe o %d.o valor: " % ((i + 1))))
# agora vamos pedir para informar o valor a ser pesquisado
valor = int(input("\nInforme o valor a ser pesquisado no vetor: "))
# e vamos ver a quantidade de repetições
repeticoes = quant_repeticoes(0, valor, valores)
print("O valor informado se repete {0} vezes.".format(repeticoes))
# função recursiva que recebe um valor e informa quantas vezes
# ele aparece no vetor também informado
def quant_repeticoes(indice, valor, vetor):
if indice == len(vetor) - 1: # caso base...hora de parar a recursividade
if vetor[indice] == valor:
return 1 # mais um repetição foi encontrada
else: # dispara mais uma chamada recursiva
if vetor[indice] == valor: # houve mais uma repetição
return 1 + quant_repeticoes(indice + 1, valor, vetor)
else:
return 0 + quant_repeticoes(indice + 1, valor, vetor) # não repetiu
return 0 # só para deixar o compilador satisfeito...esta linha nunca é executada
if __name__== "__main__":
main()
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
Python - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Python Java - Como percorrer uma árvore binária em Java usando o algorítmo depth-first search (DFS) recursivo |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







