当前位置: 首页 > news >正文

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]=1else: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 

http://www.lryc.cn/news/397581.html

相关文章:

  • 【CSS in Depth 2精译】2.5 无单位的数值与行高
  • 【人脸识别、Python实现】PyQt5人脸识别管理系统
  • 软设之观察者模式
  • deep learning 环境配置
  • 09磁盘管理
  • Node.js Stream
  • 简化嵌入式Linux开发:在Ubuntu上安装和配置交叉编译环境的高效方法
  • Photoshop批量处理图片分辨率
  • TCP协议的三次握手和四次挥手(面试)
  • css看见彩虹,吃定彩虹
  • springboot在线教育平台-计算机毕业设计源码68562
  • 形态学图像处理
  • 安泰电压放大器的选型方案是什么
  • ARMV8安全特性:Pointer Authentication
  • MySQL和Redis更新一致性问题
  • (19)夹钳(用于送货)
  • 安装lap和cython_bbox失败了很多次!!!终于被我发现了!
  • 异业联盟整合各大行业门店,共享资源
  • 前端如何去看蓝湖
  • HTML+CSS+JS 实现3D风吹草动效果(B站视频)
  • 常用网络概念
  • 图鸟UI框架在uni-app多端应用开发中的实践与应用
  • 特征值究竟体现了矩阵的什么特征?
  • C语言-顺序表
  • OpenCV漫水填充函数floodFill函数的使用
  • redis内存分析
  • redis批量删除keys,用lua脚本。
  • Python-找客户软件
  • STM32 - PWR 笔记
  • 标准盒模型和怪异盒子模型的区别