Python 实现直角三角形、等腰三角形

本文展示了如何使用Python代码绘制直角和等腰三角形。通过两个不同的代码实例,分别实现了星号(*)从少到多和从多到少的排列,形成直角三角形的效果。同时,第三个代码示例演示了创建等腰三角形的方法,通过打印不同数量的空格和星号来实现。这些基础的图案绘制技巧是Python初学者学习控制流和字符串操作的重要练习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

案例一:Python实现直角三角形

代码1如下:

row = 9  #第一行有9个星号,逐渐递减
while row >= 1: 
    col = 1
    while col<=row:
        print('* ',end='')
        col+=1
        pass
    print()
    row-=1

效果1如下:

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

代码2如下:

row = 1 #第一行有1个星号,逐渐递增
while row <= 9: 
    col = 1 
    while col<=row:
        print('* ',end='')
        col+=1
        pass
    print()
    row+=1

效果2如下:

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

案例二:等腰三角形

代码实例如下:

row = 1  #row:一共有几行
while row<=5:  #共有5行
    j = 1
    while j <= 5-row:  # 打印每一行前面的空格
        print(' ', end='')
        j += 1
        pass
    col = 1  # col:实际每行打印的个数
    while col <= 2*row-1: #打印每一行的星号,每一行星号的个数等于行数的2倍-1
        print('*',end='')
        col+=1
        pass
    print()
    row+=1

效果图如下:

    *
   ***
  *****
 *******
*********
### 使用Python打印对称直角三角形的方法 对称直角三角形可以通过组合两个直角三角形实现。以下是一个代码示例,用于打印对称直角三角形: ```python rows = 10 for i in range(rows): # 打印左侧空格 for j in range(rows - i - 1): print(" ", end=" ") # 打印星号 for k in range(i + 1): print("*", end=" ") print("") ``` 上述代码中,外层循环控制行数,内层循环分别负责打印左侧的空格和星号[^1]。通过调整`rows`变量的值,可以改变三角形的高度。 另一种方式是将两个直角三角形合并在一起,如下所示: ```python rows = 10 for i in range(rows): # 打印左侧直角三角形的空格 for j in range(rows - i - 1): print(" ", end=" ") # 打印星号 for k in range(2 * i + 1): print("*", end=" ") print("") ``` 此代码生成了一个更加对称的直角三角形,其中每一行的星号数量为`2*i+1`,并且左侧使用空格进行填充以确保对称性。 ### 另一种方法:利用字符串格式化 还可以使用字符串格式化的方式来简化代码: ```python rows = 10 for i in range(rows): print(f"{'*' * (i + 1):>{rows}}") ``` 这段代码通过字符串格式化实现了右侧对齐的直角三角形。`f"{'*' * (i + 1):>{rows}}"`表示将星号字符串右对齐到指定宽度。 如果需要生成完全对称的直角三角形,可以将两个三角形拼接起来: ```python rows = 10 for i in range(rows): left_triangle = " " * (rows - i - 1) + "*" * (i + 1) right_triangle = "*" * i + " " * (rows - i) print(left_triangle + right_triangle[1:]) ``` 此代码通过拼接左侧和右侧的三角形部分,生成了一个完整的对称直角三角形[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁同学与Android

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值