You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python打印指定的交替字符数字金字塔图案?

Python 打印指定图案实现方案

需要实现的图案:

A
      2*2
     B*B*B
    3*3*3*3
   C*C*C*C*C
  4*4*4*4*4*4
 D*D*D*D*D*D*D
5*5*5*5*5*5*5*5

原代码存在的问题:

  • 空格计算错误,导致图案整体偏移
  • 偶数行(字母行)用空格分隔字符,未按要求添加*
  • 奇数行(数字行)起始数字错误,且末尾多输出了一个*
  • 字符与数字的递增逻辑冗余,无需每次循环都执行

修正后的代码:

n = 8
char_code = 65  # 对应ASCII字符'A'
num = 2         # 起始数字
for i in range(n):
    # 打印每行前置空格
    for _ in range(n - i - 1):
        print(" ", end="")
    # 区分奇偶行处理内容
    if i % 2 == 0:
        current_char = chr(char_code)
        # 拼接成 字符*字符*...*字符 的格式
        print(f"{current_char}*" * i + current_char)
        char_code += 1
    else:
        # 拼接成 数字*数字*...*数字 的格式
        print(f"{num}*" * i + str(num))
        num += 1

代码逻辑说明:

  1. 空格控制:每行前置空格数为n - i -1,确保图案整体居中对齐
  2. 偶数行(字母行):从'A'开始,每次循环后ASCII码+1,通过f"{current_char}*" * i + current_char实现字符*字符*...*字符的格式
  3. 奇数行(数字行):从2开始,每次循环后数字+1,通过f"{num}*" * i + str(num)实现数字*数字*...*数字的格式

内容的提问来源于stack exchange,提问作者kapil patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 10:20:22