簡體   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