代码实现:
# python实现杨辉三角形
def yanghui():
# 定义第一行列表为[1]
line = [1]
while True:
# yield的作用:把一个函数变成生成器,同时返回一个list,下次从yield的下条语句执行
yield line
# 设上一个为[1],通过式子可得[1,1],继而[1,2,1]......
line = [1] + [line[i] + line[i + 1] for i in range(len(line) - 1)] + [1] # 输入杨辉三角形的行数
n = int(input("请输入行数:"))
# 定义一个结束的变量
flag = 0
# 生成器可迭代,做个遍历
for i in yanghui():
# 打印每行的列表的元素,用空格连接
print(" ".join(str(j) for j in i))
# 打印完一行,flag+1
flag += 1
# 如果变量flag等于输入的行数,跳出for循环
if flag == n:
# 跳出循环
break
效果:

请输入行数:6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

Process finished with exit code 0

												

python实现杨辉三角形的更多相关文章

  1. python:简单爬取自己的一篇博客文章

    1.爬取文章地址:https://www.cnblogs.com/Mr-choa/p/12495157.html 爬取文章的标题.具体内容,保存到文章名.txt 代码如下: # 导入requests模 ...

  2. python基础练习题(题目 打印出杨辉三角形前十行。)

    day38 --------------------------------------------------------------- 实例061:杨辉三角 题目 打印出杨辉三角形前十行. 分析: ...

  3. Python杨辉三角形

    RT Show me the Code def triangles(): b = [1] while(True): yield b b = [1] + [b[i] + b[i+1] for i in ...

  4. Python 小白的新手教程(一)

    本文是 python 入门级别的基础知识,包括数据类型和变量.输入输出.字符串和编码.list tuple dict set .条件判断.循环.函数.切片 迭代 列表生成器 生成器 迭代器等. 参考课 ...

  5. .Net程序员之Python基础教程学习----判断条件与循环[Fourth Day]

        今天学习Python的判断条件与循环操作. 一. 布尔变量: 在学习判断条件之前必须的了解bool变量,在Python中bool变量与C语言比较类似,与.net差别比较大,其中下面集中情况需要 ...

  6. Python 3 学习笔记2

    教程链接:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 高级特性 切片 取一个l ...

  7. Python 100例(下)

    如果你坚持到这了,哪就为自己鼓掌吧!坚持,你一定可以. 实例51: 题目:学习使用按位与&. #!/usr/bin/env  python# --*--coding:utf-8 --*--'' ...

  8. Python练习100则--部分概念的没有做

    # coding = utf-8 import math, osfrom random import randint def Binary(): res = int(-1 / 2) res1 = in ...

  9. 熟悉Python的各种基础小算法

    网上有一个Python100小例子的栏目,里面代码良莠不齐,于是下面就自己实现了其中的一些案例. 01.py # coding:utf-8 import sys reload(sys) sys.set ...

随机推荐

  1. vue相关坑

    1:vue 动态加载图片路径报错解决方法,循环遍历图片不显示图片 解决方法:https://www.cnblogs.com/qingcui277/p/8930507.html

  2. 必备技能六、Vue框架引入JS库的正确姿势

    在Vue.js应用中,可能需要引入Lodash,Moment,Axios,Async等非常好用的JavaScript库.当项目变得复杂庞大,通常会将代码进行模块化拆分.可能还需要跑在不同的环境下,比如 ...

  3. 2020ubuntu1804server编译安装redis5笔记(二)配置redis

    前一篇笔记记录了ubuntu1804server编译安装redis5,接下来要配置redis5了 网址:https://www.cnblogs.com/qumogu/p/12435694.html 第 ...

  4. django使用户名和邮箱都能登录

    为了能够让邮箱也能登录,需要重新定义认证功能,需要把email添加成username用于认证 定义的class继承ModelBackend,使用Q方法并集 然后在settings.py里面添加 这样既 ...

  5. ffmpeg 编程常用 pcm 转 aac aac 转 pcm mp4 h264解码

    ffmpeg 是现在开源的全能编解码器,基本上全格式都支持,纯 c 语言作成,相对比其它的 VLC ,GStreamer glib2 写的,开发更简单些,文档很棒,就是 examples 比较少. 常 ...

  6. 深入理解React key

    一 react 组件元素的 diff 算法 二 key 的理解 概述 react 中的key 属性,它是一个特殊的属性,它的出现不是给开发者用的(例如你为一个组件设置key之后不能获取组件的这个key ...

  7. vue中nextTick的使用场景

    https://blog.csdn.net/bingqise5193/article/details/100212278

  8. libfastcommon总结(一)加载主机上所有网卡的IPv4的地址

    头文件为local_ip_func.h 主要接口 load_local_host_ip_addrs();//加载主机网口所有IPv4地址到列表    print_local_host_ip_addrs ...

  9. C语言二进制拼接 (整数和byte类型的字符串拼接)

    #include <iostream>#include <cstring>#include <cstdio> using namespace std; typede ...

  10. [转]【maven】解决Missing artifact jdk.tools:jdk.tools:jar:1.6

    解决在pom.xml文件中出现的Missing artifact jdk.tools:jdk.tools:jar:1.6问题 <dependency> <groupId>jdk ...