"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que minha função recursiva Python às vezes retorna não?

Por que minha função recursiva Python às vezes retorna não?

Postado em 2025-02-18
Navegar:962

Why Does My Python Recursive Function Sometimes Return None?

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)

Tutorial mais recente Mais>

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