陈斌老师《数据结构与算法Python版》第五周作业——ASCII谢尔宾斯基地毯
陈斌老师《数据结构与算法Python版》第五周作业——ASCII谢尔宾斯基地毯
- 题目
- 思路
- 程序如下
- 总结
题目
谢尔宾斯基地毯是形如上图的正方形分形图案,每个地毯可分为等大小的9份,其中中央挖空,其余均由更小的地毯组成。
现给定地毯大小(行数)与组成地毯的字符元素,请打印相应的地毯图形。
注:空腔以半角空格表示;当给定字符元素长度不为1时空格数须与字符长度对应
输入格式:
输入为两行,分别为地毯大小正整数N与组成元素字符串c
输入数据保证N为3的正整数幂
输出格式:
由N行长度为N*len©的字符串构成的谢尔宾斯基地毯
输入样例:
9
[]
思路
用递归方法
向最小格式迭代
每次按规律增加图形的长宽
程序如下
def carpet(N, char):len_c = len(char)if N == 3:return [char*3, char + ' '*len_c + char, char*3] #最小格式时直接输出else:mylist = carpet(N/3, char) #将图形存为一个列表for j in range(2): #增加竖向宽度for i in range(int(N/3)):mylist.append(mylist[i]) for i in range(len(mylist)): #增加横向宽度if i >= N/3 and i < N/3*2:mylist[i] = mylist[i] + ' '*len_c * int(N/3) + mylist[i] #中间留白else:mylist[i] = mylist[i]*3return mylistn = int(input())
c = input()
# n = 27
# c = '[]'
if n == 0: # n=0直接输出print('')
else:ans = carpet(n, c)for i in ans: #打印图形print(i)
总结
增加长宽时,要注意carpet(N, char)中char字符的宽度
学习陈斌老师的数据结构与算法Python版课有感
陈斌老师《数据结构与算法Python版》第五周作业——ASCII谢尔宾斯基地毯相关推荐
- python数据结构与算法40题_Python数据结构与算法40:递归编程练习题3:ASCII谢尔宾斯基地毯...
注:本文如涉及到代码,均经过Python 3.7实际运行检验,保证其严谨性. 本文阅读时间约为7分钟. 递归编程练习题3:ASCII谢尔宾斯基地毯 谢尔宾斯基地毯 谢尔宾斯基地毯是形如上图的正方形分形 ...
- 数据结构与算法Python版-第五周作业
1. 进制转换(10分) 题目内容: 给定一个M进制的数,请将其转换为N进制并输出 输入格式: 两行,第一行为空格分隔的两个数字,分别为10进制表示的M与N:其中M, N均满足2 ≤ M.N ≤ 36 ...
- python实现——ASCII谢尔宾斯基地毯
目录 一.题目内容: 二.思路: 三.python代码: 4.总结 一.题目内容: 二.思路: 看到这个图案,肯定是自相似的,所以肯定用递归解决这个问题. 但是具体怎样的呢? (1)这个其实就是二维矩 ...
- MOOC数据结构与算法Python版-第五周编程作业
1 进制转换(10分) 题目内容: 给定一个M进制的数,请将其转换为N进制并输出 输入格式: 两行,第一行为空格分隔的两个数字,分别为10进制表示的M与N:其中M, N均满足2 ≤ M.N ≤ 36 ...
- mooc数据结构与算法python版第十一周作业_中国大学 MOOC_数据结构与算法Python版_2020最新答案学习指南...
中国大学 MOOC_数据结构与算法Python版_2020最新答案学习指南 更多相关问题 [判断题]实际集成运放的上限截止频率为无穷大 [多选题]现代城市的发展凸现出与以往不同的动力机制包括 教师在引 ...
- 数据结构与算法Python版-第六周作业
1. 铺瓷砖(10分) 题目内容: 给定一个长度为N的区域,及4种不同长度的瓷砖:灰瓷砖(长为1格).红瓷砖(长为2格).绿瓷砖(长为3格)与蓝瓷砖(长为4格),求所有不同的铺满整个区域的方法数. 例 ...
- mooc数据结构与算法python版第十周作业_中国大学mooc慕课_数据结构与算法Python版_章节答案...
新入对于接诊人的院病与查房,中国章节在多必须经治间内进行医师长时. 大学答案高的主要文库日常利用率较有(. 须注下问题:慕课意以,者以知识作为的投资产权出资.在配置上电装,该装装在置(线应部位)的接地 ...
- # python # # 分形 # Sierpinski Carpet 谢尔宾斯基地毯 续
运行过程绘图和动图: 原创声明需要超过300字,贴一点生成动图的代码片段. # encoding=utf8from PIL import Imagefiles = ['#000000.png', '# ...
- python与分形0009 - 谢尔宾斯基地毯
分形介绍 分形是一个悖论. 它惊人的简单,却又无限的复杂. 它很新,却又比尘埃更古老. 分形是什么?它们是从哪里来的?我们为什么要在乎? 20世纪非传统的数学家Benoit Mandelbrot在19 ...
最新文章
- css(hr元素)水平线的定位
- hdu 2544(最短路径)
- Jquery中怎样判断是否有网络
- Splitting into digits
- drupal6 笔记
- HighCharts点击柱形或饼块等加URL或Click事件
- CoreML实现的MobileNet
- php 容器实现,PHP 依赖注入容器实现
- 6000个边缘Kubernetes节点驱动城市80万次智能停车,如何成为可能?
- android 顶部标签切换,Android实现底部切换标签
- 微型计算机文献,微型计算机控制系统期刊文章参考文献 哪里有微型计算机控制系统参考文献...
- 判断一个数能否同时被3和5整除(信息学奥赛一本通-T1046)
- 《0元搭建个人博客史上最详细教程》(域名申请及备案篇)
- 矩阵的初等变换与线性方程组
- 网上出售企业支付宝骗局,不看后悔
- C语言的fopen()函数
- 5089. 安排会议日程
- 小说作者推荐: 闹月合集
- 美国计算机科学排名2010,2010年美国大学计算机科学专业研究生排名
- xp局域网内共享设置
热门文章
- 腾讯电竞:电竞产业已成风口 良性发展需要靠教育稳固根基
- 谷歌地图标注_复工第一天发现被谷歌地图标注为“暂停营业”
- wsus无法同步计算机,Windows Update无法与WSUS同步,8024401c
- 源代码加密软件该如何选择
- 电竞CSGO数据API接口 - 【即时指数】API调用示例代码
- 一个新手第一次做项目的求助
- 怎么在PPT添加备注(只有自己看到)
- linux下可视化git工具git-cola安装与使用(HTTP方式)
- Mongodb数据库中修改器$push和$addToSet的相同点和不同点
- Centos7 卸载 Nginx 并重新安装 Nginx