运行效果:

可在函数中指定阶层数,输出对应的杨辉三角

源代码如下:

 1 # -*-coding:utf-8 -*-
2 '''
3 chapter4_do.py
4 函数yanghui(n)用于输出n阶杨辉三角
5 '''
6 def yanghui(n):
7 if not str(n).isdecimal() or n<2 or n>25:
8 print("杨辉三角函数yanghui(n),参数n必须是不小于2且不大于25的正整数")
9 return False
10 x=[]
11 for i in range(1,n+1):
12 x.append([1]*i)
13 for i in range(2,n):
14 for j in range(1,i):
15 x[i][j]=x[i-1][j-1]+x[i-1][j]
16
17 for i in range(n):
18 if n<=10:print(' '*(40-4*i),end='')
19 for j in range(i+1):
20 print('%-8d'%x[i][j],end='')
21 print()
22
23
24 if __name__=='__main__':
25 print("模块独立自运行测试输出:")
26 print("一、10阶杨辉三角如下:")
27 yanghui(10)

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

  1. 经典问题(c++/python)素数、杨辉三角(金字塔型)、统计单词数、简单计算器、密码安全程度、凯撒密码加密、汉诺塔 (python课设实验实例)-- biaobiao88

    [编写程序,输人一个大于2的自然数,然后输出小于该数字的所有素数组成的列表.]所谓素数,是指除了1和自身之外没有其他因数的自然数,最小的素数是2,后面依次是3.5.7.11.13... c++代码: ...

  2. python输出杨辉三角

    使用python列表,展示杨辉三角 # !/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan yanghui = [] fo ...

  3. 【Python入门学习】列表生成和函数生成器的方式实现杨辉三角

    列表生成: L = [i for i in range(10)] 列表生成器: g = (i for i in range(10)) 函数生成器使用的关键字yield实现 例如fib生成器 def f ...

  4. python实现杨辉三角

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

  5. [py]函数中yield多次返回,延迟计算特性-杨辉三角

    搞清什么是杨辉三角 每行是一个数组, 第一行: [1] 第二行: [1, 1] 第三行: [1, 2, 2, 1] ... 画的好看点就是,不过没啥卵用 1 / \ 1 1 / \ / \ 1 2 1 ...

  6. 【Python初级】由生成杨辉三角代码所思考的一些问题

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

  7. Python(四)生成器 和 杨辉三角

    学习链接: http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143177992 ...

  8. 利用python打印杨辉三角

    用python打印杨辉三角 介绍 杨辉三角,是初高中时候的一个数列,其核心思想就是说生成一个数列,该数列中的每一个元素,都是之前一个数列中,同样位置的元素和前一个元素的和. 正好在python中,也就 ...

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

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

随机推荐

  1. tp5实现邮件发送(无注释)

    HTML代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  2. mysql 获取当前时间和时间戳

    mysql 获取当前时间为select now()运行结果: 2012-09-05 17:24:15 mysql 获取当前时间戳为select unix_timestamp(now()) 运行结果:u ...

  3. CSAPP shell Lab 详细解答

    Shell Lab的任务为实现一个带有作业控制的简单Shell,需要对异常控制流特别是信号有比较好的理解才能完成.需要详细阅读CS:APP第八章异常控制流并理解所有例程. Slides下载:https ...

  4. rancher接管已部署的集群

    1.选择一台服务器部署rancher服务 docker pull rancher/rancher:v2.5.6 #拉取rancher镜像 docker run --privileged -d -v / ...

  5. KVM 虚拟化基本知识,virtio工作原理

    KVM虚拟化的基本知识,virtio的工作流程及原理,virtio-vhost, virtio-vhost-user pci 配置空间,是谁在kick 写pci配置空间的?又是通过什么机制通知给qem ...

  6. DDOS流量攻击

    0x01 环境 包含2台主机 attact 作为攻击方,使用Centos7.2 windows_server ,用于被攻击,同时抓包分析流量 ,任意版本均可.安装wireshark,用于抓包 0x02 ...

  7. 内网渗透----Linux下信息收集

    基础信息 1.系统类型 cat /etc/issue查看系统名称 Lsb-release查看系统名称.版本号 2. 内核版本 uname –a 查看所有信息 ls /root |grep vmlinu ...

  8. Python GUI tkinter 学习笔记(三)

    草稿 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() Label(root, text = "First").g ...

  9. Java反射详解篇--一篇入魂

    1.反射概述 Java程序在运行时操作类中的属性和方法的机制,称为反射机制. 一个关键点:运行时 一般我们在开发程序时,都知道自己具体用了什么类,直接创建使用即可.但当你写一些通用的功能时没办法在编写 ...

  10. 摆烂期的Android学习笔记一

    Android大致分为四层架构1.Linux内核层:提供各种硬件驱动,如显示驱动,音频驱动,相机驱 动,蓝牙驱动.... 2.系统运行库层:通过C/c++库为android地图提供支持 3.应用框架层 ...