2016-05-09 10 views
0

pythonスクリプトからパスカル三角形を作りたいと思います。これは私がweb.programminghub.iopython3.x構文の意味

size = int(input("Enter the size of the triangle: ")) 
tri=[] 

#creates a pascal triangle of size n 
def pascal(n): 
    """Prints out n rows of Pascal's triangle. 
    It returns False for failure and True for success.""" 
    row = [1] 
    k = [0] 
    for x in range(max(n,0)): 
     tri.append(row) 
     row=[l+r for l,r in zip(row+k,k+row)] 
    return n>=1 


#prints the pascal triangle with correct spacing to 
#represent a triangle 
def print_pascals_triangle(triangle): 
    largest_element = triangle[-1][len(triangle[-1]) // 2] 
    element_width = len(str(largest_element)) 
    def format_row(row): 
     return ' '.join([str(element).center(element_width) 
for element in row]) 
    triangle_width = len(format_row(triangle[-1])) 
    for row in triangle: 
     print(format_row(row).center(triangle_width)) 
pascal(size) 

print_pascals_triangle(tri) 

から得る私の構文で問題は、このスクリプトコードから行のひとつひとつについて何の説明ではありません。誰かがこの構文の意味のすべての行を説明することができます。

+0

この回答はどうですかhttp://stackoverflow.com/a/36911593/264442 – zjk

+0

結果は私が欲しいものではありません。私は出力のための完全な三角形を作りたいと思う。このスクリプトはうまくいきますが、このシンタックスコードの各行についての意味を理解できません。 – SufferProgrammer

+3

**すべての**行のコードについて本当に説明が必要な場合は、最初に本を読む方がよいでしょう。そうでない場合は、理解できない構文を指定してください。 –

答えて

1

pascalは、triに格納されたパスカルの三角形を生成します。 print_pascals_triangleは三角形を対称的に印刷します。

Enter the size of the triangle: 3 
    1 
1 1 
1 2 1 

pascal[[1], [1, 1], [1, 2, 1]]を生成します。

print_pascals_triangleは、固定幅(triangle_width)の中央に各行を印刷します。

+0

大丈夫です。ありがとう、私はこの構文についての概要説明を得る。もう一度 – SufferProgrammer

+0

'tri = []'とは何かそれはリストなのでしょうか? – SufferProgrammer

+0

@SufferProgrammer '[]'は_empty_リストの構文です。しかし、Pythonオンラインの[チュートリアル](https://www.codecademy.com/learn/python)にアクセスして、これらの質問に対する回答を得てください。 –

関連する問題