Python用while循环打印“*” 三角形及菱形

本文详细介绍了如何使用Python中的while循环来打印直角三角形、倒直角三角形和菱形等图形。通过嵌套循环控制星号和空格的打印,实现了图形的精确输出。

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

一、# 打印直角三角形
'''
*
* *
* * *
* * * *
* * * * *
'''
i = 0
while i < 5: # 外循环次数
    j = 0
    while j <= i:
        print("*",end=" ")
        j +=1
    print()
    i +=1

二、打印倒直角三角形

'''
如何使用while嵌套循环输出如下图形:
* * * * *
* * * *
* * *
* *
*
'''

i = 5
while i > 0:
    # 内循环
    j = 0
    while j < i :
        print("*",end=" ")
        j +=1
    print()
    i -= 1

三、打印菱形

'''
使用while嵌套,完成以下图形的输出
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

分析:左上和左下部分的空白,实际上是打印成空格
'''
i = 0
while i < 9: # 总循环次数 9
    if i < 5:
        # 上空格部分
        j = 0
        while j < 4 - i:
            print(" ",end="")
            j +=1
        #上部分
        j = 0
        while j < i+1:
            print("*", end=" ")
            j +=1
    else:
        # 下空格部分
        j = 0
        while j < i -4:
            print(" ",end="")
            j +=1
        # 下部分
        j = 0
        while j < 9 - i:
            print("*",end=" ")
            j +=1
    print()
    i += 1
### 使用 `while` 循环打印等腰三角形Python 中,可以使用 `while` 循环打印等腰三角形。等腰三角形的特点是每一行的星号(`*`)数量呈奇数递增,且前面需要有适当的空格以实现居中效果。 下面是一个使用 `while` 循环实现的示例代码: ```python i = 1 while i <= 5: # 打印空格 j = 1 while j <= 5 - i: print(' ', end='') j += 1 # 打印星号 k = 1 while k <= 2 * i - 1: print('*', end='') k += 1 # 换行 print() i += 1 ``` ### 代码说明 - 外层 `while` 循环控制行数,从第 1 行到第 5 行。 - 内层第一个 `while` 循环打印每行前面的空格,使星号居中对齐。 - 内层第二个 `while` 循环打印每行的星号,星号数量为 `2 * i - 1`。 - 每次内层循环结束后,使用 `print()` 换行[^5]。 ### 扩展:打印菱形 如果希望打印一个菱形,可以将上述代码扩展为两部分:上半部分打印等腰三角形,下半部分倒序打印等腰三角形。 ```python layer = int(input("请输入打印的奇数行数:")) while layer % 2 == 0: layer = int(input("必须是奇数,请输入重新打印的行数:")) i = 1 while i <= layer // 2 + 1: # 打印空格 j = 1 while j <= layer // 2 + 1 - i: print(' ', end='') j += 1 # 打印星号 k = 1 while k <= 2 * i - 1: print('*', end='') k += 1 # 换行 print() i += 1 i = layer // 2 while i >= 1: # 打印空格 j = 1 while j <= layer // 2 + 1 - i: print(' ', end='') j += 1 # 打印星号 k = 1 while k <= 2 * i - 1: print('*', end='') k += 1 # 换行 print() i -= 1 ``` 这段代码首先要求用户输入一个奇数作为行数,然后通过两个 `while` 循环分别打印上半部分和下半部分的等腰三角形,从而形成一个完整的菱形[^4]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值