#1 打印实心等边三角形
n = 5
for i in range(1, n+1): # 控制三角形的高,也就是层数
for k in range(2*(n-i)): # 控制每层第一个*的空格,从最后一层往上数分别是0, 2, 4, 6....,因为三角形越大,第一层空格反而越多,想起这个应该跟i有关,而且肯定是被减的那个数,发现刚好是2n-2i
print("",end=" ")
for j in range(1, 2*i): # 控制每层*的个数,由于是1,3,5,7,9...所以很快知道是2i-1
print("*",end=' ')
print() #2 打印空心等边三角形(先出来了实心再考虑空心)
'''
思考:空心和实心的区别,空心的除了第一行和最后一行,其余行都是只有两个*,其它都是空格,因此最主要是找到空格个数
空格个数你会发现和消失的*有关(跟实心相比),第二行消失1个,第三行消失3个,依次类推,是不是1,3,5,7,9,那么是不是就是2((i-1)-1)
因为从第一行开始如果是1,3,5,7,9的话就是2i-1,那么从第二行开始肯定就是2((i-1)-1),那么消失的*个数知道了,那么空格和*是什么关系呢?
可以发现是空格2倍的*+1,所以每行空格数就是2*(i-1)-1)*2 + 1
'''
n = 5
for i in range(1, n+1): # 控制三角形的高,也就是层数
for k in range(2*(n-i)): # 控制空格
print("",end=" ")
if 1 < i < n:
print("*",end="")
for j in range(1, (2*(i-1)-1)*2 + 1 +1):
print(" ",end='')
print("*", end="")
else:
for j in range(1, 2*i): # 控制每层*的个数,由于是1,3,5,7,9...所以很快知道是2i-1
print("*",end=' ')
print()

python打印实心等边三角形和空心等边三角形的更多相关文章

  1. c++打印实心菱形,空心三角形,十字星,空心正方形,实心平行四边形

    今天翻资料的时候,无意间发现了一个文件,是刚接触编程的时候用c++写的一段程序,我称之为"图形打印机",想着把所有图形都打印出来,后来发现其实每种图形的代码都是一个思路,就不想做重 ...

  2. java中打印实心菱形以及空心菱形的方法

    一.打印效果 二.实现代码汇总 为了方便初学者对代码的理解,建议熟练t1到t5为各种三角的打印,然后再进行菱形的打印实现. package circulationDemo; import java.u ...

  3. java打印实心10*10正方形, 空心10*10正方形

    public class PrintSquare { public static void main(String[] args) { printSolidSquare(10); System.out ...

  4. Python打印格式化与字符串

    关于Python打印格式化与字符串,比较全面的总结,希望对大家有帮助~ # -*- coding: cp936 -*- ''' 打印格式 ''' print "a" print & ...

  5. python打印表格式数据,留出正确的空格和段落星号或注释

    python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...

  6. python 打印 emoji

    python 打印 emoji 如需转发,请注明出处:小婷儿的python  https://www.cnblogs.com/xxtalhr/p/10486506.html 一.Unicode字符集: ...

  7. python打印列表的下标和值的例子:

    python打印列表的下标和值的例子: In [1]: list01=[1,4,5] In [10]: def funct01(ll):   ....:     for index,value in ...

  8. 【Python】Python 打印和输出更多用法。

    Python 打印和输出 简述 在编程实践中,print 的使用频率非常高,特别是程序运行到某个时刻,要检测产生的结果时,必须用 print 来打印输出. 关于 print 函数,前面很多地方已经提及 ...

  9. python 打印 九九表

    用Python 打印九九表. print 每打印一行默认会带有换行, 在print语句后加上,end = 't' 会变成tab. 排版会好点. def main(): for i in range(1 ...

随机推荐

  1. Dell做RAID配置图文全教程

    首先准备工作:Dell服务器 首先重启Dell,我们会看到Dell服务器的启动页面: 当我们看到出现下面这个界面的时候,根据提示按下Ctrl+R进到SAS磁盘阵列里面 备注:大多数Dell服务器进磁盘 ...

  2. leetcode 34在排序数组中查找元素的第一个和最后一个位置

    class Solution { public: vector<int> searchRange(vector<int>& nums, int target) { ve ...

  3. python之注释的分类

    <1> 单行注释 以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用 # 我是注释,可以在里写一些功能说明之类的哦 print('hello world') < ...

  4. 阶段3 2.Spring_05.基于XML的IOC的案例1_1 基于XML的IOC的案例-案例准备

    导坐标 创建数据库表 create table account( id int primary key auto_increment, name varchar(40), money float )c ...

  5. wpf passwordbox控件 光标移到最后

    /// <summary> /// 设置光标位置 /// </summary> /// <param name="passwordBox">&l ...

  6. java:(设置编码集,密码的加密,JSTL,EL表达式,权限设置)

    1.设置编码集: package cn.zzsxt.lee.web.sevlet; import java.io.IOException; import javax.servlet.ServletEx ...

  7. 【HANA系列】SAP 一位SAP培训顾问的建议:SAP HANA应该如何学习?

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP 一位SAP培训顾问的建议 ...

  8. 【HR系列】SAP HR PA信息类型的创建与增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HR系列]SAP HR PA信息类型的创建与增 ...

  9. java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FROM 关键字

    ssm(Oracle)配置druid数据库连接池,正常启动项目,但是请求访问数据库时报错 “java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FR ...

  10. 源码搭建git,并连接github

    一.环境 1.下载源码包 https://mirrors.edge.kernel.org/pub/software/scm/git/ 2.安装编译环境 #yum install gcc gcc-c++ ...