Por que a função recursiva Python às vezes retorna nenhum
diferentemente das funções iterativas, funções recursivas dependem de suas chamadas recursivas para retornar valores. Quando a função é chamada várias vezes, os valores de retorno precisam ser tratados adequadamente para obter a saída desejada. : a, b = min (a, b), max (a, b) Se b % a == 0: Imprimir (a) retornar a gcditer (a, b % a)
Esta função visa encontrar o maior divisor comum de dois números usando a recursão. No entanto, ele pode retornar nenhum para certas entradas, porque o valor de retorno da chamada recursiva não é tratado corretamente. Print (gcditer (42, 84)) # Retorna 42
def gcdIter(a, b):
a, b = min(a, b), max(a, b)
if b % a == 0:
print(a)
return a
gcdIter(a, b % a)
def gcditer (a, b): a, b = min (a, b), max (a, b) Se b % a == 0: Imprimir (a) retornar a Retorne gcditer (a, b % a)
print(gcdIter(306, 136)) # Returns None
print(gcdIter(42, 84)) # Returns 42
def gcd_iter (a, b): Retorne gcd_iter (b, a % b) se b else abs (a)
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3