关于帕斯卡三角形发生器的问题

Question about Pascal's Triangle generator

我是 Python 初学者,我编写了生成“帕斯卡三角”的代码

from math import factorial
n = 50

for i in range(n):
    for j in range(n-i+1):

        print(end=" ")

    for j in range(i+1):

        print(factorial(i)//(factorial(j)*factorial(i-j)), end=" ")

    print()

但是,现在我想更进一步,将三角形的偶数条目更改为 0,将奇数条目更改为 1,所以

1

11

121

1331

14641

会变成

1

11

101

1111

10001

那么,我必须为此对我的代码进行哪些更改?

您需要打印 value & 1 而不是打印 value,如以下代码所示。

value & 1给出一个整数的低位,也和value % 2一样(除以2的余数),如果是奇数,这个位等于10 如果它是偶数。

Try it online!

from math import factorial
n = 50

for i in range(n):
    for j in range(n-i+1):

        print(end=" ")

    for j in range(i+1):

        print((factorial(i)//(factorial(j)*factorial(i-j))) & 1, end=" ")

    print()

输出:

                                                   1 
                                                  1 1 
                                                 1 0 1 
                                                1 1 1 1 
                                               1 0 0 0 1 
                                              1 1 0 0 1 1 
                                             1 0 1 0 1 0 1 
                                            1 1 1 1 1 1 1 1 
                                           1 0 0 0 0 0 0 0 1 
                                          1 1 0 0 0 0 0 0 1 1 
                                         1 0 1 0 0 0 0 0 1 0 1 
                                        1 1 1 1 0 0 0 0 1 1 1 1 
                                       1 0 0 0 1 0 0 0 1 0 0 0 1 
                                      1 1 0 0 1 1 0 0 1 1 0 0 1 1 
                                     1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 
                                    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
                                   1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
                                  1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 
                                 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 
                                1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 
                               1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 
                              1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 
                             1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 
                            1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 
                           1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 
                          1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 
                         1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 
                        1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 
                       1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 
                      1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 
                     1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 
                    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
                   1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
                  1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 
                 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 
                1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 
               1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 
              1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 
             1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 
            1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 
           1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 
          1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 
         1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 
        1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 
       1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 
      1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 
     1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 
    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
   1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
  1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 

只是为了好玩,如果打印 # 而不是 1 和 space 而不是 0,如 this code,那么你会得到一张漂亮的分形图:

                                                   # 
                                                  # # 
                                                 #   # 
                                                # # # # 
                                               #       # 
                                              # #     # # 
                                             #   #   #   # 
                                            # # # # # # # # 
                                           #               # 
                                          # #             # # 
                                         #   #           #   # 
                                        # # # #         # # # # 
                                       #       #       #       # 
                                      # #     # #     # #     # # 
                                     #   #   #   #   #   #   #   # 
                                    # # # # # # # # # # # # # # # # 
                                   #                               # 
                                  # #                             # # 
                                 #   #                           #   # 
                                # # # #                         # # # # 
                               #       #                       #       # 
                              # #     # #                     # #     # # 
                             #   #   #   #                   #   #   #   # 
                            # # # # # # # #                 # # # # # # # # 
                           #               #               #               # 
                          # #             # #             # #             # # 
                         #   #           #   #           #   #           #   # 
                        # # # #         # # # #         # # # #         # # # # 
                       #       #       #       #       #       #       #       # 
                      # #     # #     # #     # #     # #     # #     # #     # # 
                     #   #   #   #   #   #   #   #   #   #   #   #   #   #   #   # 
                    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
                   #                                                               # 
                  # #                                                             # # 
                 #   #                                                           #   # 
                # # # #                                                         # # # # 
               #       #                                                       #       # 
              # #     # #                                                     # #     # # 
             #   #   #   #                                                   #   #   #   # 
            # # # # # # # #                                                 # # # # # # # # 
           #               #                                               #               # 
          # #             # #                                             # #             # # 
         #   #           #   #                                           #   #           #   # 
        # # # #         # # # #                                         # # # #         # # # # 
       #       #       #       #                                       #       #       #       # 
      # #     # #     # #     # #                                     # #     # #     # #     # # 
     #   #   #   #   #   #   #   #                                   #   #   #   #   #   #   #   # 
    # # # # # # # # # # # # # # # #                                 # # # # # # # # # # # # # # # # 
   #                               #                               #                               # 
  # #                             # #                             # #                             # #