def triangel():
print ' '*(20*3)+str(1) #定义起始两行
print ' '*(19*3)+str(1)+' '*5+str(1)
for i in range(3,21):
if i ==3:
L = [1,1] #初始化第二行
L1 = []
for j in range(2,i):
z = L[i-j-1]+L[i-j] # 通过上一行构建下一层数据
L1.append(z) # 将数据添加到一个空列表中
L = [1] # 再次对L初始化
L.extend(L1) # 将两个列表合并
L.append(1) # 在L列表中添加最后一个数据“1” # 以下内容为杨辉三角的打印
t = ' '*((21-i)*3)+str(1) # 每次循环进行初始化每列的第一个数据1
for h in range(1,len(L)): # 以下为构建每列的除一个数据外的其他数据,
if L[h]<10: # 如果数据小于10,就是其前面5个空格,如果
t = t + ' '*5+str(L[h]) #数据小于100,就减少一个空格,依次类推,
elif L[h] <100: # 直至剩余一个空格,用于分辨相邻的数据
t = t+' '*4+str(L[h])
elif L[h] < 1000:
t = t + ' '*3+str(L[h])
elif L[h] < 10000:
t = t + ' '*2+str(L[h])
elif L[h] < 100000:
t = t + ' '*1+str(L[h])
print t

以下是运行效果图:

使用Python实现的杨辉三角的更多相关文章

  1. 用Python输出一个杨辉三角的例子

    用Python输出一个杨辉三角的例子 这篇文章主要介绍了用Python和erlang输出一个杨辉三角的例子,同时还提供了一个erlang版杨辉三角,需要的朋友可以参考下 关于杨辉三角是什么东西,右转维 ...

  2. python 生成器生成杨辉三角

    用Python写趣味程序感觉屌屌的,停不下来 #生成器生成展示杨辉三角 #原理是在一个2维数组里展示杨辉三角,空的地方用0,输出时,转化为' ' def yang(line): n,leng=0,2* ...

  3. python生成器实现杨辉三角

    def triangels(): """ 杨辉三角 """ lst = [1] n_count = 2 # 下一行列表长度 while Tr ...

  4. 用python生成器实现杨辉三角

    先看杨辉三角的形态: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 上学的时候大多是用c语言的两层for循环在实现,现在我们尝试用生成器来实现. 先说思路:我 ...

  5. 2019-02-02 Python学习——生成器杨辉三角,迭代器与可迭代对象的区别

    练习 杨辉三角定义如下: 1 / \ 1 1 / \ / \ 1 2 1 / \ / \ / \ 1 3 3 1 / \ / \ / \ / \ 1 4 6 4 1 / \ / \ / \ / \ / ...

  6. Python生成器实现杨辉三角打印

    def triangles(): c = [1] while 1: yield c a,b=[0]+c,c+[0] c=[a[i]+b[i] for i in range(len(a))] n = 0 ...

  7. Python简单实现杨辉三角

    n=input("请输入要打印的行数")n=int(n)for x in range(0,n+1): p=1 print(''.rjust(n-x),end="" ...

  8. 杨辉三角的Python实现

      杨辉三角的Python实现 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Python生成器实现杨辉三角: # python def yanghui_tr ...

  9. python实现杨辉三角

    刚刚学python,原来用c++,Java很轻松实现的杨辉三角,现在用python实现,代码是少了,理解起来却不容易啊. 这里主要用到的Python的生成器. 我们都知道Python有列表解析功能,根 ...

随机推荐

  1. outb,inb等I/Oport操作函数

    功能: 如 i386 .在差别 I/O 空间和内存空间的进程的 I/O 空间写入数据. outb()   I/O 上写入 8 位数据 ( 1 字节 ). outw() I/O 上写入 16 位数据 ( ...

  2. mapreduce作业reduce被大量kill掉

    之前有一段时间.我们的hadoop2.4集群压力非常大.导致提交的job出现大量的reduce被kill掉.同样的job执行时间比在hadoop0.20.203上面长了非常多.这个问题事实上是redu ...

  3. 在PowerShell脚本中集成Microsoft Graph

    作者:陈希章 发表于2017年4月23日 我旗帜鲜明地表态,我很喜欢PowerShell,相比较于此前的Cmd Shell,它有一些重大的创新,例如基于.NET的类型系统,以及管道.模块的概念等等.那 ...

  4. Hibernate(或其它ORM)里的inverse用法详解,内容摘自Java web轻量级开发面试教程

    本文来是从 java web轻量级开发面试教程从摘录的. Inverse的英文含义是反转,在Hibernate中用来决定是由哪方来维护两个业务实体类之间的关联关系,具体而言,就是由哪方去设置这个被外键 ...

  5. freemarker常见语法大全

    推荐freemarker系列教程:http://swiftlet.net/archives/category/freemarker FreeMarker的插值有如下两种类型:1,通用插值${expr} ...

  6. CSS小全

    CSS 的使用 内联(inline style attribute) 完全不应该这样做 <head> 标签内的 <style> 标签 偶尔可以用 <link> 标签 ...

  7. MongoDB的CURD命令

    1.启动客户端 在MongDB服务成功启动的情况下,打开cmd,在MongDB的bin文件目录下执行MongDB命令 可以看到MongDB版本号3.0.7与默认连接的数据库test.test数据库是系 ...

  8. 【java】实现Interface java.lang.Comparable<T>接口的int compareTo(T o)方法实现对象数组或链表或集合的排序,和挽救式对象比较器Interface java.util.Comparator<T>

    package 对象比较排序; import java.util.Arrays; class A implements Comparable<A>{ private String name ...

  9. sqlserver 存储过程 查询

    --查询 CREATE PROCEDURE [dbo].[SelelctMessage] @strTable varchar(), --要查询的表 @strColum varchar(), --要查询 ...

  10. Android 开发,你遇上 Emoji 头疼吗?

    在 Android 中,如果需要使用的到 Emoji 表情,你会发现在某些设备上,有一些 Emoji 表情会被以豆腐块 "☐" 的形式显示,这是因为当前设备并不支持这个 Emoji ...