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

如何使用Python实现任意奇数输入的指定空心金字塔图案绘制

空心金字塔图案通用打印方案

实现逻辑

从输入输出样例可以提取通用坐标规则,替代硬编码逻辑:

  • 合法输入为奇数num,图案总行数为 (num + 1) // 2
  • 每行总字符数为 2 * num - 1,行中间位置的0起始索引为 num - 1
  • 第row行(0起始)的*分别出现在 (num - 1) - 2*row 和 (num - 1) + 2*row 两个位置,首行两个位置重合,仅显示1个*

完整代码

num = int(input())
# 输入合法性校验
if num % 2 == 0:
    print("仅支持奇数输入")
else:
    total_cols = 2 * num - 1
    mid_index = num - 1
    total_rows = (num + 1) // 2
    for row in range(total_rows):
        left_star = mid_index - 2 * row
        right_star = mid_index + 2 * row
        for col in range(total_cols):
            if col == left_star or col == right_star:
                print('*', end='')
            else:
                print(' ', end='')
        print()

逻辑说明

  1. 先校验输入是否为奇数,不符合要求直接给出提示
  2. 外层循环控制打印行数,仅打印有效图案行,避免输出多余空行
  3. 内层循环遍历当前行的每一列,匹配到*的坐标则打印*,否则打印空格占位

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:27:03