输入一个奇数n,输出一个n行的由*构成的菱形
时间: 2024-11-25 12:11:05 浏览: 4
3_判断素数_yes_
对于奇数n,输出一个n行的星号(*)组成的菱形,可以使用嵌套循环来构建。菱形的关键在于每行星星的数量会随着行数的变化而变化。例如,前半部分的菱形向上逐渐增加,后半部分则从中间向两边减少。以下是一个简单的Python代码示例:
```python
def print_star_diamond(n):
# 创建菱形上半部分
for i in range(1, (n+1)//2):
# 计算左侧空白字符数
space = ' ' * ((n - 2 * i) // 2)
# 计算星号数量
star = '*' * (2 * i - 1)
# 打印行
print(space + star)
# 创建菱形下半部分,注意这里需要判断是否包含中心行
if n % 2 != 0: # 奇数行
middle_row = ' ' * ((n - 1) // 2) + '*'
print(middle_row)
else: # 偶数行
print(' ' * (n // 2))
# 再次创建菱形的下部分,从中心向两侧递减
for i in range((n-1)//2, 0, -1):
space = ' ' * ((n - 2 * i) // 2)
star = '*' * (2 * i - 1)
print(space + star)
# 测试函数
print_star_diamond(5)
```
这个代码将打印出给定奇数n的菱形形状。如果输入的是偶数,由于菱形结构的特性,它将只有一条完整的中间行,其余行都是空的。
阅读全文