Python实现打印实心和空心菱形
1.打印实心菱形
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
方法一:
a = int(input("请输入菱形每条边星星的个数:")) b = a c = a for i in range(1, a + 1): # 先打印正三角,由空格和*根据规律组成 print(" " * (b - 1), "*" * (2 * i - 1)) b -= 1 if i == a: # 临界点,当打印到此,开始打印倒三角 for y in range(1, a): print(" " * y, "*" * (2*c-3)) c -= 1
方法二:
n = int(input("输入要打印的菱形的每个边的元素个数:")) list_a = [i for i in range(n)] # 生成前n行的行数列表,例如[0,1,2,3,4] list_b = list_a[0:len(list_a) - 1:] # 生成剩余行数列表并反转,例如[0,1,2,3] list_c = list_b[::-1] # 对剩余行数列表并反转便于打印操作 list_d = list_a + list_c # 将两个列表合并 print(list_d) b = [' ' * (n - i) + '*' * (2 * i + 1) for i in list_d] # 根据规律,打印空格" "和"*" for line in b: print(line)
打印结果:
2.打印空心菱形
代码:
a = int(input("请输入菱形每条边星星的个数:")) b = a c = a print(" " * (a - 1), "*") for i in range(2, a+1): # 先打印正三角,由空格和*根据规律组成 print(" " * (b - 1) + "*" + " " * (2 * i - 3) + "*") b -= 1 if i == a: # 临界点,当打印到此,开始打印倒三角 for y in range(2, a): print(" " * y+"*"+" "*(2*c-5)+ "*" ) c -= 1 print(" "*a+"*")
打印结果:
以上这篇Python实现打印实心和空心菱形就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
利用python打印出菱形、三角形以及矩形的方法实例
前言 本文主要给大家介绍了关于利用python打印出菱形.三角形以及矩形的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍: 实例代码 #coding:utf-8 rows = int(raw_input('输入列数: ')) i = j = k = 1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数 #等腰直角三角形1 print "等腰直角三角形1" for i in range(0, rows): for k in range
-
Python打印“菱形”星号代码方法
本人是一名python初学者,刚刚看到一道有趣的python问题,"用python如何在编译器中打印出菱形图案?" 因此决定尝试一下,代码不多,仅供参考. 代码 def printStar(intNum): s = "*" spaceLength = intNum blockCount = int(intNum/2+1) for i in range(spaceLength): result = s.rjust(blockCount) if i >= int(
-
Python turtle库绘制菱形的3种方式小结
绘制一个菱形四边形,边长为 200 像素.方法1和2绘制了内角为60和120度的菱形,方法3绘制了内角为90度的菱形. 方法1 import turtle as t ls = [30,-30,-150,150]#菱形各边的画笔绝对角度列表 for i in range(4): t.seth(ls[i]) #画笔转向相应绝对角度 t.forward(2
-
Python实现打印实心和空心菱形
1.打印实心菱形 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识. 方法一: a = int(input("请输入菱形每条边星星的个数:")) b = a c = a for i in range(1, a + 1): # 先打印正三角,由空格和*根据规律组成 print(" " * (b - 1), "*" * (2 *
-
php打印一个边长为N的实心和空心菱型的方法
本文实例讲述了php打印一个边长为N的实心和空心菱型的方法.分享给大家供大家参考.具体分析如下: 实心菱型计算方法: $n:边长 $i:当前行,0开始 $rows:总行数 上部 前面空格数=$n-$i-1 字符数=$i*2+1 下部 前面空格数=$i-$n+1 字符数=($rows-$i)*2-1 使用 str_pad 可以减少for/while等循环 复制代码 代码如下: /** * 打印实心菱型 * @param int $n 边长,默认5 * @param String $
-
Python 实现打印单词的菱形字符图案
我就废话不多说了,还是直接看代码吧! a = [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1] b = [' ' * 2 * (7 - i) + 'Good' * i for i in a] for line in b: print(line) 程序运行结果如下: 补充知识:python打印菱形的三种方法 第一种(自己想的,有点麻烦): rows = int(input('请输入菱形边长:\n')) row = 1 while row <= rows: col =
-
JAVA用for循环打印空心菱形
空心菱形如图所示 那么我们应该如何去写出来呢?这就不得不引出一个非常经典的案例,金字塔案例,菱形像不像是两个对称的金字塔呢?废话不多说了,上思路:(仅代表个人理解,欢迎指点) 1.首先我们要写出一个空心菱形,那么我们首先得把需求由繁化简,把他拆分成一个一个简单的需求, 1.1那我们就先写半个金字塔, 是不是很眼熟的结构,没错和九九乘法表类似的结构,上代码 for(int i = 1;i <= 5;i++){ //i代表层数,这个可以设置一个变量接收,随便几层都行,不一定非要是5 for(int
-
Java 如何用二维数组创建空心菱形
目录 如何用二维数组创建空心菱形 题目:用“*”创建一个菱形空心 使用数组打印实心菱形 二维数组的输出(其中一种方法) 正式代码 如何用二维数组创建空心菱形 提供一个我自己的实现方法,方法实现只是一个人的是靠方式,并不是代表实力,真正的实力用自己的这种思维解决别人亟待解决的问题,真才是目前我觉得的编程的意义.鸡汤喝了,精神好了!来看看我的实例. 题目:用“*”创建一个菱形空心 为了能更好的找出横纵坐标的关系,我简单做了一个菱形图 图1.菱形 从图中可以找出*点与坐标值的意义,所以此题是用二维坐标
-
Java利用for循环输出空心三角形、空心菱形和空心矩形的代码
空心三角形 空心三角形输出需要用到判断语句,判断每行的空格与星号的输出,下面写出了完整语句,及相关语句的详细注释.空心菱形同样类似 package com.zhebie.test; public class KongTraingle { public static void main(String[] args) { int n=5; //n表示输出空心三角形行数,这里以5行为例 for(int i=1;i<=n;i++) { for(int j=1;j<=n-i;j++) { //控制每行最
-
Python3实现打印任意宽度的菱形代码
我就废话不多说了,还是直接看代码吧! width = 11 #注意宽度必须位奇数 for i in range(-width//2,width//2+1): prespace=i if i>0 else -i print(' '*prespace+'*'*(width-prespace*2)) 运行结果: * *** ***** ******* ********* *********** ********* ******* ***** *** * 补充知识:Python打印高度为2 * n +
-
Java利用for循环输出空心菱形的实例代码
程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列. 编写程序,在控制台上输出空心菱形,对角距离为6. public class Diamond { public static void main(String[] args) { printHollowRhombus(6); } public static void printHollowRhombus(int size) { if (size % 2 == 0) { size+
-
python递归打印某个目录的内容(实例讲解)
以下函数列出某个目录下(包括子目录)所有文件,本随笔重点不在于递归函数的实现,这是一个很简单的递归,重点在于熟悉Python 库os以及os.path一些函数的功能和用法. 1. os.listdir(path): 列出path下所有内容(包括文件和目录,不包括.和..) 2. os.path.join(path1,path2,path3...): 拼接目录,例如将'home','test'拼接成'home/test/' 3. os.path.isdir(path): 判断path是否为目录 代
-
Python实现打印螺旋矩阵功能的方法
本文实例讲述了Python实现打印螺旋矩阵功能的方法.分享给大家供大家参考,具体如下: 一.问题描述 输入N, 打印 N*N 螺旋矩阵 比如 N = 3,打印: 1 2 3 8 9 4 7 6 5 N = 4,打印: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 二.思路 常规法是不断的对数据边界进行判断会很复杂,不妨考虑通过递归的解决每一层的数字. 三.代码 #coding:utf-8 n = int(raw_input('>')) #初始化数组 arr = [
随机推荐
- asp.net mvc 从数据库中读取图片的实现代码
- 详解iOS11、iPhone X、Xcode9 适配指南
- 算法系列15天速成 第七天 线性表【上】
- 详解QEMU网络配置的方法
- Bin 和 App_Code 文件夹介绍
- JSON两种结构之对象和数组的理解
- 基于C++ list中erase与remove函数的使用详解
- Android学习笔记之ListView复用机制详解
- Mysql基础入门 轻松学习Mysql命令
- Android源码学习之组合模式定义及应用
- 详解Linux Shell 实现一个获取任意位数的随机密码的脚本
- jQuery中Ajax的get、post等方法详解
- 简单总结C语言中的运算符优先级
- jquery导航制件jquery鼠标经过变色效果示例
- 在JavaScript中遭遇级联表达式陷阱
- 浅谈Xcode 开发工具 XCActionBar
- JPA之使用JPQL语句进行增删改查
- Vue.directive 自定义指令的问题小结
- JavaScript的级联函数用法简单示例【链式调用】
- Java源码解析HashMap的resize函数