打印杨辉三角 您所在的位置:网站首页 打印出以下杨辉三角 打印杨辉三角

打印杨辉三角

2023-09-20 11:38| 来源: 网络整理| 查看: 265

项目场景:

提示:这里简述项目相关背景:

python练习题

问题描述:

提示:这里描述项目中遇到的问题:

杨辉三角形,也称帕斯卡三角,其定义为:顶端是 1,视为(row0).第1行(row1)(1&1)两个1,这两个1是由他们上头左右两数之和 (不在三角形内的数视为0).依此类推产生第2行(row2):0+1=1;1+1=2;1+0=1.第3行(row3):0+1=1;1+2=3; 2+1=3;1+0=1. 循此法可以产生以下诸行,如下图所示。 定义一个函数 ,传入正整数参数 M,输出 M 行的杨辉三角(为使格式美观,采用M行中最大数的位数 做为数据输出时的占位宽度和 数据间的间隔)。

在这里插入图片描述

原因分析:

提示:这里填写问题的分析:

解决方案:

提示:这里填写该问题的具体解决方案:

源码

def yh(li): list1 = [] list1.append(c) s = len(li) r = "" for i in range(1, s): r = eval(li[i - 1]) + eval(li[i]) rl = len(str(r)) g2 = [] for j in range(ysl - rl): g2.append(" ") ys = "".join(str(i) for i in g2) + str(r) list1.append(ys) list1.append(c) # print(list1) return list1 # 阶乘 def jc(n): sum = 1 for i in range(1, n + 1): sum *= i return sum n = int(input()) lis = [1] b = (n - 1) // 2 max = jc(n - 1) / jc(b) / jc(n - 1 - b) max = int(max) ysl = len(str(max)) g1 = [] for j in range(ysl - 1): g1.append(" ") c = "".join(str(i) for i in g1) + "1" g3 = [] for j in range(ysl): g3.append(" ") jg = "".join(str(i) for i in g3) for i in range(n): gs = [] for j in range(n - i): gs.append(jg) sc = "".join(str(i) for i in gs) + jg.join(str(i) for i in lis) print(sc) lis = yh(lis)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有