zhongning123 发表于 2022-8-3 12:25:30

纠结

# 初始化杨辉三角形
# 创建一个10*10的二维列表,并将所有的元素初始化为0
triangle = []
for i in range(10):
    triangle.append([])
    for j in range(10):
      triangle.append(0)
   
# 计算杨辉三角形
# 根据观察,我们知道杨辉三角形左右两边的元素均为1
for i in range(10):
    triangle = 1
    triangle = 1                                                                  
   
# 第i行j列的值 = 第(i-1)行(j-1)列的值 + 第(i-1)行(j)列的值
for i in range(2, 10):                                                                  ###第一行只有一个1所以从第二行到第十行需要计算,这个我懂。
    for j in range(1, i):                                                               ###这句话我不太理解什么是(1,i)。
      triangle = triangle + triangle
   
# 输出杨辉三角形
for i in range(10):
    for j in range(i+1):
      print(triangle, end='')
    print()

jackz007 发表于 2022-8-3 13:43:11

本帖最后由 jackz007 于 2022-8-3 14:24 编辑

         当然是指循环变量 j 的变化范围是从 1 到 i 了(不包括 i)。
def yang(n):
    r = [ for i in range(n)]
    for i in range(2 , n):
      for j in range(1 , i):
            r = r + r
    return r

n = int(input('输入 n : ') . strip())
d = yang(n)
for i in range(n):
    s = ' ' * (n - i - 1) * 2 + '%3d' % d
    for j in range(1 , i + 1):
      s += ' %3d' % d
    print(s)
      运行实况:
D:\\Python>python yang.py
输入 n : 7
            1
            1   1
          1   2   1
      1   3   3   1
      1   4   6   4   1
    1   51010   5   1
1   6152015   6   1

D:\\Python>python yang.py
输入 n : 12
                        1
                      1   1
                  1   2   1
                  1   3   3   1
                1   4   6   4   1
            1   51010   5   1
            1   6152015   6   1
          1   721353521   7   1
      1   82856705628   8   1
      1   93684 126 1268436   9   1
    11045 120 210 252 210 1204510   1
11155 165 330 462 462 330 1655511   1

D:\\Python>

zhongning123 发表于 2022-8-4 12:26:57

jackz007 发表于 2022-8-3 13:43
当然是指循环变量 j 的变化范围是从 1 到 i 了(不包括 i)。

      运行实况:

哥,这个i 我还是不懂(1,i)。我的理解是吧i改成10,就是(1,10)。
这样好像也可以运行。
抱歉老哥,我是菜鸟........
页: [1]
查看完整版本: 纠结