再帰的な操作の概要(コード)

ランダムインポートSEED、randrange
 インポートSYS 

薄暗い = 10 DEFの:display_grid()
     のためのグリッド:
         印刷' '、* 行) 
 DEF display_grid1():
     のためのGRID1:
         印刷' '、* 行)
 GRID1ですが比較結果容易にするために、両方が印刷されている深さのグリッドの結果をコピーDEFのone_shape(行、COL、n_colourを):
     IF ていない(行<LEN(GRID1 [0])行> = 0 及び

      


 COL> = 0  COLは< LEN(GRID1は)):
        ここでの状況に注意を払う必要がありますが0に等しい
        戻り
     あなたが要件、すなわちリターンを満たしていない場合には利益を得ていない裏があるに書かれていない場合や、値の誤差につながることはありませんでしょう
    IF gride1 [行] [COL] == 1 
        GRID1 [行] [COL] = n_colour 適格であれば、割り当てを変更 
        (行+ 1 one_shape 、COL、n_colour)
        one_shape(行 -1 、COL、n_colour)
        one_shape(行、COL 1 、n_colour)
        one_shape(行、COL -1 、n_colour)
        それは常に、それはの要件を満たしかどうかを確認するために、現在の関数を呼び出している再帰呼び出し、
    リターン


for_seedを、密度 = 0,8
シード(for_seed)
グリッド = [INT(randrange(密度)!= 0)のための _ 範囲(暗く)]
             のための _ 範囲(暗く)
       ] 
GRID1 [[I =  I 】行のためのグリッド]
 印刷' :ここで生成されたグリッドである' 
display_grid()
プリント'  ' 
one_shape(0,0、 2 
display_grid1()
プリント'いくつかの形状のスパイクの最大数は:' 
      max_number_of_spikes(nb_of_shapes) 

 

おすすめ

転載: www.cnblogs.com/eleni/p/11280409.html
おすすめ