再帰ソリューションから印刷するには、特定の星のパターンが必要です。入力は次のようになります。
printPattern(2,8)
出力は次のようになります。
*
**
*
****
*
**
*
********
*
**
*
****
*
**
*
はい、最初にすでに2つのスペースがあります。printPattern(0,4)の場合:
*
**
*
****
*
**
*
私は次のことから始めましたが、続行する方法についてのポインタを「繰り返す」ことで間違った方向に進んでいることを知っていますか、それともそれを破棄する必要がありますか?
今私がしたことは、偶数行と奇数行を見つけることだけで、0から繰り返して星を印刷することを計画しましたが、UnboundLocalErrorが発生します。
repeat = 0
def printPattern(n,k):
'prints a pattern of stars'
if n == k:
print("Done")
elif n%2 == 0:
print('even')
repeat +=1
printPattern(n+1,k)
else:
print (end=' ')*repeat
print ('*')
repeat+=1
printPattern(n+1,k)