Python-Neuling stellt Fragen zur Rekursion
ringa_lee
ringa_lee 2017-06-12 09:21:02
0
1
662

Erster Code:

# -*- coding:gb2312 -*-
# 递归阶乘
def getnum(num):
    if num > 1:
        print(num)
        return num * getnum(num - 1)
    else:
        print(num)
        return num


result = getnum(5)
print(result)

Das erste Ergebnis der Codeausführung:

Zweiter Code:

# -*- coding:gb2312 -*-
# 递归阶乘
def getnum(num):
    if num > 1:
        return num * getnum(num - 1)
        print(num)
    else:
        return num
        print(num)a


result = getnum(5)
print(result)

Das zweite Ergebnis der Codeausführung:

Meine Frage:
Ich habe die print(num)-Anweisung zur Funktion hinzugefügt. Warum kann der erste Teil des Codes 5 4 3 2 1 und dann 120 ausgeben? Warum im zweiten Teil des Ergebnisses nur 120, aber Nein 5 4 3 2 1? Logischerweise habe ich bereits alle Druckanweisungen geschrieben, also sollte ich sie ausdrucken.

ringa_lee
ringa_lee

ringa_lee

Antworte allen(1)
Ty80

第二段代码中的return之后的print不能执行的. 函数返回了.

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!