python杨辉三角的两种书写方式

第一种(设置二维列表设置每个元素为0进行替换元素)

代码演示:

n = eval(input("请输入想要的行数"))
lst=[[0 for j in range(n)] for i in range(n)]
# lst2=[[0]*n]*n
for i in range(n):
    for j in range(i+1):
        if j==0 or j==i:
            lst[i][j]=1
        else:
            lst[i][j]=lst[i-1][j-1]+lst[i-1][j]
        print(lst[i][j],end=" ")#按直角三角形进行输出
    print()

for i in range(n):    #按等边三角形输出
    s = " " * (n - i - 1)
    for j in lst[i]:
        if j!=0:
            s = s + str(j) + " "
    print(s)

演示结果:

请输入想要的行数7

1 1 
1 2 1 
1 3 3 1 
1 4 6 4 1 
1 5 10 10 5 1 
1 6 15 20 15 6 1 
      1 
     1 1 
    1 2 1 
   1 3 3 1 
  1 4 6 4 1 
 1 5 10 10 5 1 
1 6 15 20 15 6 1 

第二种(计算出每一行,得到完整二维列表后进行输出)

代码演示

#给出n,输出前n行的杨辉三角
n = eval(input("请输入想要的行数"))
lst = [[1],[1,1]]
for i in range(2,n):   #已经给出前两行,求剩余行
    lst1 = lst[i-1]    #上一行
    print(lst1)
    first = [1]        #定义每一行第一个数
    # print(first)
    for j in range(i-1):   #算几次
        first.append(lst1[j]+lst1[j+1])   #每个数字等于上行的左右两个数字之和
    first.append(1)                       #每行最后一个数字
    lst.append(first)
print("普通输出:{}".format(lst))
for i in range(n):    #按等边三角形输出
    s = " " * (n - i - 1)
    for j in lst[i]:
        s = s + str(j) + " "
    print(s)

演示结果

请输入想要的行数7
      1 
     1 1 
    1 2 1 
   1 3 3 1 
  1 4 6 4 1 
 1 5 10 10 5 1 
1 6 15 20 15 6 1 

相关推荐

  1. python书写方式

    2024-07-11 18:32:06       21 阅读
  2. 三角(Python

    2024-07-11 18:32:06       55 阅读
  3. React setState()书写方法对比

    2024-07-11 18:32:06       49 阅读
  4. 062、Python 解决命名冲突方式

    2024-07-11 18:32:06       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 18:32:06       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 18:32:06       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 18:32:06       57 阅读
  4. Python语言-面向对象

    2024-07-11 18:32:06       68 阅读

热门阅读

  1. 【Go - 常见的5类循环】

    2024-07-11 18:32:06       25 阅读
  2. 二叉搜索树的最近公共祖先

    2024-07-11 18:32:06       23 阅读
  3. 基于单目摄像头实现的AR多人脸捕捉效果展示

    2024-07-11 18:32:06       17 阅读
  4. git 基本使用

    2024-07-11 18:32:06       22 阅读
  5. 【智能制造-15】常见通讯协议

    2024-07-11 18:32:06       22 阅读
  6. 网络编程学习part1

    2024-07-11 18:32:06       22 阅读
  7. IQN、UUID和SCSI-ID

    2024-07-11 18:32:06       22 阅读
  8. git撤销push

    2024-07-11 18:32:06       23 阅读
  9. 解决Spring Boot中的国际化与本地化问题

    2024-07-11 18:32:06       19 阅读
  10. Mongodb索引使用限制

    2024-07-11 18:32:06       25 阅读
  11. 数据建设实践之大数据平台(七)

    2024-07-11 18:32:06       25 阅读