精华内容
下载资源
问答
  • Python打印杨辉三角形

    2020-03-24 13:37:35
    杨辉三角形 1.每一行两边对称,且开头和结尾都为1 2.从第二行开始的第二个数到结尾前,数值等于上一行同一下标和同一下标减一的值的和,比如 第三行的2 等于第二行的第一个数加第二个数 具体详细的解释得百度百科:...

    杨辉三角形
    1.每一行两边对称,且开头和结尾都为1
    2.从第二行开始的第二个数到结尾前,数值等于上一行同一下标和同一下标减一的值的和,比如 第三行的2 等于第二行的第一个数加第二个数
    具体详细的解释得百度百科:杨辉三角形
    在这里插入图片描述

    dict_temp = {}
    for i in range(1,11):
        dict_temp[i] = []
        for j in range(0,i):
            if j ==0:
                dict_temp[i].append(1)
            else:
                if j < (i-1):
                    dict_temp[i].append(dict_temp[i-1][j]+dict_temp[i-1][j-1])
                else:
                    dict_temp[i].append(1)
                    break
    
    
    
    for c,g in dict_temp.items():
        print('第{}行-----{}'.format(c,g))
    
    

    结果:
    在这里插入图片描述

    展开全文
  • Python 打印杨辉三角形

    千次阅读 2019-05-29 18:53:48
    # 杨辉三角形 # 1 # 1 1 # 1 2 1 # 1 3 3 1 # 1 4 6 4 1 # 1 5 10 10 5 1 yh = [] n = int(input("请输入杨辉三角形的行数:")) for i in range(n): yh.append([1]*(i+1)) for i in range(2, n): for j in range...
    # 杨辉三角形
    # 1
    # 1 1
    # 1 2 1
    # 1 3 3 1
    # 1 4 6 4 1
    # 1 5 10 10 5 1
    
    yh = []
    n = int(input("请输入杨辉三角形的行数:"))
    for i in range(n):
        yh.append([1]*(i+1))
    
    for i in range(2, n):
        for j in range(1, i):
            yh[i][j] = yh[i-1][j-1]+yh[i-1][j]
    
    for i in range(len(yh)):
        print("  "*(n-1-i), end="")
        for j in range(len(yh[i])):    # 控制列
            print(yh[i][j], " "*2, end="")
        print()

     

    展开全文
  • python 杨辉三角形

    用来练手的python练习题,原题链接: python练习实例61

    题干: 打印出杨辉三角形
    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 7 21 35 35 21 7 1
    1 8 28 56 70 56 28 8 1
    1 9 36 84 126 126 84 36 9 1

    实现代码如下:

    import numpy as np
    
    table = np.zeros((10,10),dtype=int)
    table[:,0] = 1
    table[1,1] = 1
    print(table)
    for i in range(2,table.shape[0]):
      for j in range(1,table.shape[1]):
        table[i,j] = table[i-1,j-1] + table[i-1,j]
    print(table)
    for i in range(table.shape[0]):
      for j in range(i+1):
        print(str(table[i,j]) + " ",end="")
        if j == (i):
          print()
    

    输出结果如下:
    在这里插入图片描述
    这个例题的思路比较清晰,首先我们创建一个10*10的0矩阵 table。接着,利用杨辉三角形的性质给矩阵中对应的元素赋值,即当前行的元素是上一行两个相邻元素之和 : am,n=am1,n1+am1,na_{m,n} = a_{m-1,n-1} + a_{m-1,n}。在对table矩阵赋值完毕后,只需要将非零元素输出即可。

    展开全文
  • Python 打印杨辉三角形(包括金字塔的款式的~~)

    万次阅读 多人点赞 2018-07-29 17:15:24
    今天是准备被这周的所以内容归纳一下的,然后看到的经典的杨辉三角形,所以就把代码整理了一下。给他取了个狂野的名字。 ==================================疯狂的杨辉三角形=================================== ...

    今天是愉快的星期天,终于可以睡个懒觉了。

    今天是准备被这周的所以内容归纳一下的,然后看到的经典的杨辉三角形,所以就把代码整理了一下。给他取了个狂野的名字。

    ==================================疯狂的杨辉三角形===================================

    1.普通的杨辉三角形


    ​​

     杨辉三角形的规则就是出意每行的第一个数字之外,每个数字等于上一行对应两个数字的和。就不多说啦~~

    • 先用函数的思想
    def triangle():
        N = [1]
        while True:
            yield N     #generator特点在于:在执行过程中,遇到yield就中断,下次又继续执行
            N.append(0)  #每次都要在最后一位加个0,用于后续的叠加
            N = [N[i]+N[i-1] for i in range(len(N))]
    
    def print_triangle(x):
        a = 0
        for t in triangle():  #这里可以每次调用一个N(得力于Yield函数)
            print(t)
            a += 1
            if a ==x:
                 break
    print_triangle(10) #打印10行
    • 下面是个简洁的方法,杨辉三角的关键在于每次打印之后要在列表最后以为加上0这个元素
    N = [1]
    for i in range(10):  #打印10行
        print(N)
        N.append(0)
        N = [N[k] + N[k-1] for k in range(i+2)]

    好,以上就是非常常规的两个杨辉三角形的打印方法,那来拓展一下好了

    1.居中的杨辉三角形(就是让打印出来的数字排成一个三角形)

    思路:普通的杨辉三角形打印出来的是列表,而现在要让他呈金字塔状输出,即让每行输出有个中轴线
               列表是不能想这样对其剧中的(也许有办法???),而字符串有
               所以我们要先将列表转换为字符串,并在每个数字直接放置间隔
               然后在剧中打印,剧中长度就是最后一会字符串的长度+最后一行数字的个数

    • 首先我们要想如何把列表变成一个字符串,方法很多这里用一个选择一种使用
      list1 = [1,2,3,4,5,6]  #随便定义一个字符串,字符串中的元素是int类型
      for i in range(len(list1)):
          temp = str[i]
          list1[i] = temp  #遍历list1里所有元素,将其转换为str类型,再重新赋值给list1
      list_to_str = ' '.join(length) #用join函数将字符串们组合起来,注意引号里有空格,让个数字隔开
      list_to_str = list_to_str.center(90) #将字符串改装成一个长度是90的字符串,原字符串居中(这两部可以一起写)
      print(list_to_str) #在打印就会得到一个剧中的字符串了

      上述这个为什么是90,因为懒得算应该是多少,所以取一个比较大的数字就好了~~~

    • 现在知道如何居中之后就想把这段引用到杨辉三角形里(代码如下)

      N = [1] #先把第一行给定义好
      for i in range(10):  #打印10行
      #从这里开始我们就要把list转换为一个剧中的字符串打印出来
          L = N.copy()   #我们需要吧N复制给L,而不能直接L = N,因为这样L和N会在同一个地址,后续算法就会出错
          for j in range(len(L)):   #遍历和转化
              temp = str(L[j])
              L[j] = temp
          l = ' '.join(L).center(50)  #组合和剧中一起写
          print(l)      #这里就是打印l了
          N.append(0)   #因为复制之后L是L,N是N,所以我们还是继续在N末尾加0
          N = [N[k] + N[k-1] for k in range(i+2)]

      因为昨天刚刚看了装饰器,所以想能不能把转化的过程放在装饰器里面
      装饰器还没深入理解,只能尽量写一下

    • 代码如下

    • def transfor(fun):   #定义一个转换函数,
          def war(N):  #带参数的装饰器,把参数传闭包里
              L = N.copy()
              for j in range(len(L)):
                  temp = str(L[j])
                  L[j] = temp
              l = ' '.join(L).center(90)
              fun(l)
          return war
      @transfor   #甜甜的函数糖
      def f1(N):    #把print定义成f1()函数
          print(N)
      
      N = [1]
      for i in range(10):
          f1(N)   #这里注意要用f()代替print()
          N.append(0)
          N = [N[k] + N[k-1] for k in range(i+2)]

      我一直在想如何不把print() 换成f1(),就是让装饰器直接作用在系统的print上,但是都失败了,好像大概是调用__main__,这样的函数,....还得在研究一下,或者有大神们知道的透露一下,谢谢啦!~~~~

    展开全文
  • 刚刚学python,原来用c++,Java很轻松实现的杨辉三角,现在用python实现,代码是少了,理解起来却不容易啊。这里主要用到的Python的生成器。我们都知道Python有列表解析功能,根据表达式可以自动生成列表,如:#这样...
  • 主要介绍了使用python生成杨辉三角形的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Python实现杨辉三角形

    千次阅读 2016-05-11 12:59:36
    Python实现杨辉三角形
  • 程序输出需要实现如下效果:[1][1,1][1,2,1][1,3,3,1]......方法:迭代,生成器def triangles()L = [1]while True:yiled LL =[1] + [L[i] + L[I+1] for i in range(len(L)-1)] + [1]n = 0for t in triangles():print...
  • Python编写杨辉三角形

    千次阅读 多人点赞 2020-01-28 23:19:28
    杨辉三角形 杨辉三角形性质: 每个数等于它上方两数之和。 每行数字左右对称,由1开始逐渐变大。 第n行的数字有n项。 前n行共[(1+n)n]/2 个数。 行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m...
  • Python——杨辉三角形

    2021-02-05 11:22:56
    试题 基础练习 杨辉三角形 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加...
  • 蓝桥杯基础练习 Python实现杨辉三角形 问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。  下面给出了杨辉三角形的前4...
  • Python打印简单杨辉三角形

    千次阅读 2019-09-16 00:18:18
    杨辉三角形的定义:杨辉三角形 代码 #思路:用一个n+2*n+2的数组包住n*n的数组,初始化a[1][1]的值为1,遍历求a[i][j]=a[i-1][j-1]+a[i-1][j] def YHsanjiao(n): a=[[0]*(n+2) for i in range(n+2)] #初始化一个二...
  • Python-杨辉三角形 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加...
  • Python杨辉三角形

    千次阅读 2019-03-22 14:57:42
    row=int(input("请输入行数:")) while row>10 or row<=0: row=int(input("请输入行数:")) b=[[0 for i in range(j+1)] for j in range(row)] for i in range(row): for j in range(i+1): ...
  • python编写杨辉三角形 最近在自学python,正在做菜鸟教程里面的100道基础编程题,突发奇想来发一个博。 那就分享以下小菜鸟写的程序吧。还有遇到的一些问题总结: 杨辉三角形(10行) a = [1] print(1) for i in ...
  • 文章目录一、杨辉三角形二、二项式定理三、编程打印杨辉三角形1、采用二维列表来处理杨辉三角2、编写程序 - 杨辉三角.py3、运行程序,查看结果 一、杨辉三角形 杨辉三角,是二项式系数在三角形中的一种几何排列,...
  • 菜鸟学python打印杨辉三角形

    千次阅读 2019-03-11 22:37:56
    题目:打印杨辉三角形(要求打印出10行如下图)。  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 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 &quot;&...
  • python:杨辉三角形

    2021-04-16 10:35:28
    直接上代码 #n = 7 n = int(input()) for i in range(n): list = [] for j in range(i+1): if j == 0 or j == i: list.append(1) print(1,end=" ") else: list.append(a[j]+a[j-1]) print(a[j]+a[j-1
  • Python生成杨辉三角形

    千次阅读 2017-05-11 15:05:04
    #总觉得哪里有点问题,怎么这么复杂呢 ...layers=int(input('你想生成多少层杨辉三角,请输入一个整数吧,不要太大哦\n')) for t in triangles(): print(t) n += 1 if n == layers: break input()
  • 这篇文章主要介绍了用Python和erlang输出一个杨辉三角的例子,同时还提供了一个erlang版杨辉三角,需要的朋友可以参考下关于杨辉三角是什么东西,右转维基百科:杨辉三角稍微看一下直观一点的图:代码如下:杨辉三角有...
  • python迭代器完成打印杨辉三角形

    千次阅读 2018-04-25 00:48:57
    二话不说先上代码:这里是代码那么接下来说说实现杨辉三角形的思路首先...闲篇扯完,接下来说说打印杨辉三角形的思路:总体思想上使用了杨辉三角形的一条特性:第n行的第m个元素是第n-1行的第m-1 和第m个元素的和。...
  • 杨辉三角杨辉 定义如下: 1 / \ 1 1 / \ / \ 1 2 1 / \ / \ / \ 1 3 3 1 / \ / \ / \ / \ 1 4 6 4 1 / \ / \ / \ / \ / \ ...
  • python输出杨辉三角形代码

    千次阅读 2017-05-25 09:47:47
    import math def trangle():  i=10  j=0  L=[1,1]  while i>=0:  while j  L[j]=L[j]+L[j+1]  j=j+1  L.pop()  L.insert(0,1)  L.append(1)  pri
  • Python打印杨辉三角

    2020-05-10 19:44:36
    题目:python打印杨辉三角 杨辉三角性质有很多,我们的程序主要运用以下性质 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。 第n行的数字有n项 大致形状(来自百科) 程序运行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,213
精华内容 485
关键字:

python打印杨辉三角形

python 订阅