我最近一直在学习递归等概念,并尝试尝试使用Python中的旧程序,我使用迭代方法解决了这些问题,例如打印三角形图案,例如:
*
**
***
****
*****
但我得到的输出是:
*****
****
***
**
*
None
def itriangle(x):
if x==0:
return
print("*",end="")
itriangle(x-1)
def jtriangle(y):
if y==0:
return
itriangle(y)
print()
jtriangle(y-1)
print(jtriangle(5))
这是我写的代码, 首先,我得到这个三角形倒转,其次我得到“无”返回作为最后一行。 如何解决这个问题?它背后的概念是什么?
为什么最后得到 None :这是因为 print(jtriangle(5)) 语句打印了 jtriangle(5) 函数的返回值,默认情况下为 None,因为没有明确的 return 语句。函数本身处理所有必要的打印,因此您不需要打印函数调用的结果。您可以简单地调用 jtriangle(5) 而不打印。