题目
从标准输入读入金字塔的层数 h,在控制台使用星号 * 和空格打印出居中对齐的字符金字塔。
输入格式:一行输入一个正整数 h,表示金字塔高度。
输出格式:输出 h 行字符图案,构成居中金字塔。
数据范围与约定:1 ≤ h ≤ 30。
思路与算法
1. 字符串乘法乘方
Python 支持字符串重复操作:" " * (h - i) 生成前导空格,"*" * (2 * i - 1) 生成奇数个星号。
2. 居中规律
第 i 行(i 从 1 到 h)的前导空格数为 h - i,星号数为 2 * i - 1。
完整程序
n = int(input())
a = list(map(int, input().split()))
# 插入排序:将当前元素逐个插入到左侧已有序的序列中
for i in range(1, n):
key = a[i]
j = i - 1
while j >= 0 and a[j] > key:
a[j + 1] = a[j]
j -= 1
a[j + 1] = key
print(" ".join(map(str, a)))运行示例
输入:
4输出:
*
**
***
****