Python如何用*打印正三角、倒三角、等边三角形、菱形及空心菱形

 更新时间:2025年05月06日 09:23:06   作者:香菜退退退  
这篇文章主要给大家介绍了关于Python如何用*打印正三角、倒三角、等边三角形、菱形及空心菱形的相关资料,提供了每种形状的实现代码和输出结果,需要的朋友可以参考下

【问题描述】

使用循环嵌套输出三角形、菱形

1、分别使用*打印正三角、倒三角、等边三角形、菱形、空心菱形

(1)正三角

*                                   
**
***
****
*****       

1)实现代码

m=0
for w in range(1,6):  #5行
    # *的个数与行相同,range(1,2),第二行,range(1,3)
    for m in range(1,w+1):
        print('*',end='')
    print()

2)输出结果

(2)倒三角

*****
****
***
**
*   

1)实现代码

for i in range(1,6):
    # range(1,6) range(1,5) range(1,4),找行与列之间的关系7-1=6;7-2=5,7-3=4....
    for e in range(1,7-i):
        print('*',end='')
    print()

2)输出结果

(3)等边三角形

    *
   ***
  *****
 *******
*********

  1)实现代码

for a in range(1,6): # 外循环5行
    for b in range(1,6-a): # 倒三角形
        print(' ',end='') # 需要打印空格,不换行
    for c in range(1,a*2): # 1,3,5,7..等腰三角形,range(1,2),range(1,4),range(1,6)....
        print('*',end='')
    print()

2)输出结果

(4)菱形

(以7行为例,因为菱形是轴对称图形,可将菱形分为两部分,那就是一个正三角和一个倒三级拼接在一起了,我是将前4行一组,后3行一组)

   *
  ***
 *****
*******
 *****
  ***
   *

1)实现代码

row=eval(input('请输入菱形的行数:'))
while row%2==0:  #判断行数的奇偶性,若为偶数则重新输入
    print('请重新输入!')
    row=eval(input('请输入菱形的行数:'))
# 输出菱形
top_row=(row+1)//2 #上半部分的行数
for t in range(1,top_row+1):
    for t2 in range(1,top_row+1-t):
        print(' ',end='')
    for t3 in range(1,t*2):
        print('*',end='')
    print() #当两个并列的for循环执行结束后,在换行执行
# 7行為例子
low_row=row//2 # 3
for l in range(1,low_row+1):
    for l2 in range(1,l+1):  #直角三角形
        print(' ',end='')
    for l3 in range(1,low_row*2-2*l+2): # 第1行-->5个,range(1,6),第2行-->3个,range(1,4),...
    # for l3 in range(1,2*(low_row+1-l)):
    # 第一次(1,low_row=3*2)=(1,6),(1,6+2)
        print('*',end='')
    print() #当两个并列的for循环执行结束后,在换行执行

2)输出结果

(5)空心菱形

{以7行为例,因为菱形是轴对称图形,可将菱形分为两部分,前4行一部分(由一个倒三角+一个挖空的等腰三角形),后三行一部分(由一个正三角+一个倒立等腰三角形),挖空的三角形可以使用if-else语句判断,if(如果)是在第一位或最后一位则打印*,else(否则)打印空格}

   *
  * *
 *   *
*     *
 *   *
  * *
   *

这张图我把空格都打印出来了,这样更清楚。

1)实现代码

row=eval(input('请输入菱形的行数:'))
while row%2==0:  #判断行数的奇偶性,若为偶数则重新输入
    print('请重新输入!')
    row=eval(input('请输入菱形的行数:'))
# 输出菱形
top_row=(row+1)//2 #上半部分的行数
for t in range(1,top_row+1):
    for t2 in range(1,top_row+1-t):
        print(' ',end='')
    for t3 in range(1,t*2):
        if t3==1 or t3==t*2-1:
            print('*',end='')
        else:
            print(' ',end='')
    print() #当两个并列的for循环执行结束后,在换行执行
# 7行為例子
low_row=row//2 # 3
for l in range(1,low_row+1):
    for l2 in range(1,l+1):  #直角三角形
        print(' ',end='')
    for l3 in range(1,low_row*2-2*l+2): # 第1行-->5个,range(1,6),第2行-->3个,range(1,4),...
    # for l3 in range(1,2*(low_row+1-l)):
    # 第一次(1,low_row=3*2)=(1,6),(1,6+2)
        if l3==1 or l3==(low_row*2-2*l+2)-1:
            print('*',end='')
        else:
            print(' ',end='')
    print() #当两个并列的for循环执行结束后,在换行执行

2)输出结果

总结 

到此这篇关于Python如何用*打印正三角、倒三角、等边三角形、菱形及空心菱形的文章就介绍到这了,更多相关Python用*打印各种形状内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Python实现的车牌识别系统

    基于Python实现的车牌识别系统

    本文将以基于Python的车牌识别系统实现为方向,介绍车牌识别技术的基本原理、常用算法和方法,并详细讲解如何利用Python语言实现一个完整的车牌识别系统,需要的朋友可以参考下
    2023-10-10
  • python版本切换工具pyenv的安装及用法

    python版本切换工具pyenv的安装及用法

    Pyenv是管理 Python 版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,这篇文章主要介绍了python版本切换工具pyenv安装及用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-12-12
  • Python在后台自动解压各种压缩文件的实现方法

    Python在后台自动解压各种压缩文件的实现方法

    这篇文章主要介绍了Python在后台自动解压各种压缩文件的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Django框架使用内置方法实现登录功能详解

    Django框架使用内置方法实现登录功能详解

    这篇文章主要介绍了Django框架使用内置方法实现登录功能,结合实例形式详细分析了Django框架内置方法实现登录功能的相关操作技巧与使用注意事项,需要的朋友可以参考下
    2019-06-06
  • 使用Python让视频剪辑批量自动化功能实现

    使用Python让视频剪辑批量自动化功能实现

    在日常工作和内容创作中,视频剪辑是一项常见但耗时的任务,本文将介绍如何使用Python实现视频剪辑自动化,包括视频剪切、拼接、特效添加等功能,感兴趣的朋友跟随小编一起看看吧
    2026-02-02
  • 简单介绍Python中的floor()方法

    简单介绍Python中的floor()方法

    这篇文章主要介绍了Python中的floor()方法,是Python入门的基础知识,需要的朋友可以参考下
    2015-05-05
  • 基于Python实现音乐节奏可视化效果

    基于Python实现音乐节奏可视化效果

    这篇文章主要为大家详细介绍了如何基于Python语言实现音乐节奏可视化效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • Python字符串格式化format()方法运用实例

    Python字符串格式化format()方法运用实例

    这篇文章主要给大家介绍了关于Python字符串格式化format()方法运用实例的相关资料,字符串格式化是Python编程中十分常用的部分,它可以帮助我们将更具可读性的数据输出到控制台或写入文件,需要的朋友可以参考下
    2023-08-08
  • 将Python代码打包成.exe可执行文件的完整步骤

    将Python代码打包成.exe可执行文件的完整步骤

    这篇文章主要给大家介绍了关于如何将Python代码打包成.exe可执行文件的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • python3+requests接口自动化session操作方法

    python3+requests接口自动化session操作方法

    今天小编就为大家分享一篇python3+requests接口自动化session操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10

最新评论