pythonfor循环画星图
时间: 2025-05-08 13:44:06 浏览: 27
### 使用 `for` 循环绘制星星图案
为了创建不同类型的星星图案,可以根据需求调整循环结构和条件判断语句。以下是几种常见星星图案的实现方法。
#### 1. 简单三角形星星图案
此模式会逐行增加星号的数量直到达到指定的最大行数:
```python
def simple_triangle_star_pattern(rows):
for i in range(1, rows + 1):
print('*' * i)
# 测试代码
rows = int(input("请输入行数: "))
simple_triangle_star_pattern(rows)
```
这种简单的三角形图案每行中的星号数量等于当前行号[^1]。
#### 2. 实心金字塔星星图案
该函数构建了一个实心的金字塔形状,其中每一层都由相同数量的空间字符加上相应数量的星号组成:
```python
def solid_pyramid_star_pattern(height):
width = height * 2 - 1
for row in range(1, height + 1):
stars_count = (row * 2) - 1
spaces_before_stars = (width - stars_count) // 2
line = ' ' * spaces_before_stars + '*' * stars_count + '\n'
print(line, end='')
# 测试代码
height = int(input("请输入高度: "))
solid_pyramid_star_pattern(height)
```
在此例子中,每一行前面都有一定量的空白空间用于居中显示星星,并且随着层数增长而逐渐减少[^3]。
#### 3. 空心金字塔星星图案
这个版本只在边缘位置放置星号,在内部留白形成空洞效果:
```python
def hollow_pyramid_star_pattern(height):
mid = height - 1
for i in range(1, height + 1):
if i == 1:
print(' ' * mid + '*')
elif i != height:
print(' ' * (mid - i + 1) + '*', end="")
print(' ' * ((i - 2) * 2 + 1), end="")
print('*')
else:
print('*' * (height * 2 - 1))
# 测试代码
height = int(input("请输入高度: "))
hollow_pyramid_star_pattern(height)
```
这里特别处理了顶部的一颗单独星星以及最后一行全部填充的情况;其余各行则仅在外侧两端各放一颗星并用空格隔开中间部分[^2]。
#### 4. 菱形星星图案
菱形是由两个倒置相连的小山峰构成,上半部递增下半部递减:
```python
def diamond_star_pattern(size):
# 上半部分
for i in range(1, size + 1):
print(' ' * (size - i) + '* ' * i)
# 下半部分
for i in range(size - 1, 0, -1):
print(' ' * (size - i) + '* ' * i)
# 测试代码
size = int(input("请输入大小: "))
diamond_star_pattern(size)
```
上述代码先生成正向的梯形再反向重复以完成整个菱形轮廓。
阅读全文
相关推荐














