繁体   English   中英

如何制作成Pascal三角形形状。 在第一行中表示1,然后在第二行中表示1,1,在第三行中表示1,2,1

[英]How to make it in Pascal triangle shape. Meaning 1 in first row, and then 1,1 in second row, 1,2,1 in third

我完成了代码,并使用了我输入的值。但是我只是不知道如何使它以帕斯卡三角形的形式返回。

import math

n=int(input("choose your whole number"))

def J(n,r):
    return math.factorial (n)//(math.factorial (n-r)*math.factorial (r))

def G(z):
     for n in range (z+1):
         for r in range (n+1):
               print (J(n,r), end=" ")

G(n)

答案很简单:在一行上打印完数字后,需要换行。 只需添加一个空的打印语句(注意缩进):

def G(z):
     for n in range (z+1):
         for r in range (n+1):
               print (J(n,r), end=" ")
         print()

在打印每一行后,您需要添加换行符。 如果要填充金字塔的顶部(看起来像平衡的金字塔),则还需要打印偏移量:

def G(z):
    for n in range (z+1):
        # Pad the numbers so they appear in a pyramide
        print('  ' * (z-n), end="")
        for r in range (n+1):
            # Add the ljust-bit to make sure the numbers 
            # gets an even spacing
            print (str(J(n,r)).ljust(4), end="")
        # New line after each row
        print()

例:

选择您的整数5

输出:

          1   
        1   1   
      1   2   1   
    1   3   3   1   
  1   4   6   4   1   
1   5   10  10  5   1   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM