2024-05-19 02:24:39 发布
网友
所以我有一个任务来递归地编写一些简单的函数。其中一个是根据输入的高度制作一个三角形的恒星。例如:
星星(5)
将打印出来:
* ** *** **** *****
这个函数在这个过程中运行得很好。
def stars(height): x = 1 while x <= height: print ('*' * x) x += 1
我怎么能递归地写这个?任何帮助都非常感谢。
这个是升序还是降序打印呢?
def stars(n, descending=True): if (descending): print '*'*n if n==1: if not descending: print '*' return stars(n-1, descending) if not descending: print '*'*n stars(5) print stars(5, descending=False)
***** **** *** ** * * ** *** **** *****
我会这么做:
def recurse_triangle(num, char): if num > 0: recurse_triangle(num-1, char) print(char*num) recurse_triangle(5, '*')
输出:
很简单,只要加一个直到达到高度。使用默认值并调用star(12)。
star(12)
def star(h, n = 1): if h == n: print n * '*' if h != n: print n * '*' star(h, n + 1)
这个是升序还是降序打印呢?
输出:
我会这么做:
输出:
很简单,只要加一个直到达到高度。使用默认值并调用
star(12)
。相关问题 更多 >
编程相关推荐