0

再帰ソリューションから印刷するには、特定の星のパターンが必要です。入力は次のようになります。

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) 
4

1 に答える 1