假设名为printStars的函数的可用性可以传递一个包含非负整数值的参数。该功能打印出星号的给定数量。在Python中编写递归函数
编写一个名为printTriangle的函数,该函数接收一个包含非负整数值的参数,并按如下方式打印一个星号三角形:首先一行n星号,后跟一行n-1个问号,然后是a一行n-2个星号,等等。
例如,如果收到5的功能,将打印
*****
****
***
**
*
功能不可使用任何类型的循环(对于,同时,这样做,而)来完成其工作。该函数应该调用printStars来完成打印单行的任务。
我有我相信的基本情况。这是我的代码:
def printTriangle(n):
if n == 1:
printStars(n)
我需要一些帮助来计算递归步骤。我想它使用n-1作为参数,但我不知道如何正确调用printTriangle函数。提前致谢。
这是完美的,但有没有办法在每次打印明星后添加空格或换行符? printStars函数已经定义好了,所以我不能修改它,所以我想可能是print(printStars(n),end ='\ n'))? – Droxbot 2014-11-06 19:53:09
编号'printStars'似乎是直接打印到标准输出,而不是返回一个字符串,所以你不能真正影响输出的显示方式。 (至少,不是以任何简单的方式,你可以重新定义'sys.stdout'来捕获和修改'printStars'打印的内容,但是这仍然取决于'printStars'是如何实现的并且超出了这个问题的范围。) – chepner 2014-11-06 19:54:58