假設名爲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