Pythonを使用してYanghui三角形を印刷します

def pascal_triangle_based_generator(level_count=10):
    sequence = [1]
    for index in range(1, level_count + 1):
        if index == 1:
            yield sequence
        else:
            current_sequence = [1]
            left_num = 1
            for item in sequence[1:]:
                current_sequence.append(left_num + item)
                left_num = item
            current_sequence.append(1)
            sequence = current_sequence
            yield sequence

if __name__ == "__main__":
    pascaler = pascal_triangle_based_generator(level_count=10)
    for item in pascaler:
        print(" ", f"{item}".center(40, " "))

出力結果:

                    [1]                   
                   [1, 1]                 
                 [1, 2, 1]                
                [1, 3, 3, 1]              
              [1, 4, 6, 4, 1]             
            [1, 5, 10, 10, 5, 1]          
          [1, 6, 15, 20, 15, 6, 1]        
        [1, 7, 21, 35, 35, 21, 7, 1]      
      [1, 8, 28, 56, 70, 56, 28, 8, 1]    
   [1, 9, 36, 84, 126, 126, 84, 36, 9, 1] 

おすすめ

転載: blog.csdn.net/lianshaohua/article/details/111300403
おすすめ