天梯赛打印沙漏 python
时间: 2024-03-02 08:47:14 浏览: 113
天梯赛是一个编程竞赛平台,提供了一系列的编程题目供参赛者解答。其中一个题目是打印沙漏。
打印沙漏的思路如下:
1. 首先,根据输入的数字n,确定沙漏的总行数。
2. 然后,根据沙漏的总行数,确定每一行的空格数和星号数。
3. 从上到下打印沙漏的上半部分,即从第一行到中间行,每一行的空格数递增,星号数递减。
4. 打印沙漏的中间行,即星号数最多的那一行。
5. 从中间行的下一行开始,逐渐递减空格数,递增星号数,打印沙漏的下半部分。
以下是一个用Python实现打印沙漏的示例代码:
```python
def print_hourglass(n):
# 计算沙漏的总行数
total_rows = 2 * n - 1
# 打印上半部分
for i in range(n):
# 计算当前行的空格数和星号数
spaces = " " * i
stars = "*" * (2 * (n - i) - 1)
print(spaces + stars)
# 打印中间行
print(" " * (n - 1) + "*")
# 打印下半部分
for i in range(n - 2, -1, -1):
# 计算当前行的空格数和星号数
spaces = " " * i
stars = "*" * (2 * (n - i) - 1)
print(spaces + stars)
# 测试代码
n = int(input("请输入一个正整数:"))
print_hourglass(n)
```
阅读全文