输入一个正整数n(1≤n≤26),输出n行字母金字塔。要求定义函数pyramid(n),按照
时间: 2023-06-10 18:07:35 浏览: 287
Python 的语法实现此功能。函数的输入参数为一个正整数n,函数的输出为打印出的字母金字塔。
以下是代码实现:
```python
def pyramid(n):
for i in range(n):
# 打印空格
for j in range(n-i-1):
print(" ", end="")
# 打印左半部分字母
for k in range(i+1):
print(chr(ord("A")+k), end="")
# 打印右半部分字母
for m in range(i):
print(chr(ord("A")+i-m-1), end="")
print("\n", end="")
# 测试函数
pyramid(5)
```
输出结果为:
```
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
```
注释:
1. 在 Python 中,可以使用 `ord()` 函数将字符转换为 ASCII 码,使用 `chr()` 函数将 ASCII 码转换为字符。
2. `print()` 函数中的 `end` 参数指定结束符号,默认为换行符 `\n`,在此处设置为空字符串 `""`,即不换行。
3. 打印空格时,需要根据当前行数计算空格数。在第一行需要打印 `n-1` 个空格,在第二行需要打印 `n-2` 个空格,以此类推,即第 `i` 行需要打印 `n-i-1` 个空格。
4. 打印字母时,需要根据当前行数计算字母数。在第一行需要打印 1 个字母,在第二行需要打印 3 个字母,以此类推,即第 `i` 行需要打印 `2*i+1` 个字母。左半部分从 A 开始递增,右半部分从 A 开始递减。
阅读全文