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

如何实现输入正奇数输出无空格奇数箭头图案?

解决方案

问题分析

输入正奇数n后,需输出的图案分为两部分:

  1. 从1开始,每次加2直到n,每行打印对应数字重复自身次数的字符串;
  2. 从n-2开始,每次减2直到1,同样每行打印对应数字重复自身次数的字符串;
    全程不能输出任何多余字符(包括空格)。

代码实现(Python)

n = int(input())
# 生成上半部分递增奇数序列:1,3,5...n
ascending_nums = range(1, n + 1, 2)
# 生成下半部分递减奇数序列:n-2, n-4...1
descending_nums = range(n - 2, 0, -2)

# 打印上半部分
for num in ascending_nums:
    print(str(num) * num)
# 打印下半部分
for num in descending_nums:
    print(str(num) * num)

代码解释

  • range(1, n+1, 2):生成从1到n的连续奇数,对应图案的上半段(包含中间最长的n行);
  • range(n-2, 0, -2):生成从n-2递减到1的连续奇数,对应图案的下半段;
  • str(num)*num:将数字转为字符串后重复num次,刚好匹配每行的输出格式;
  • 两次循环分别输出上下两段内容,全程无多余字符,完全符合要求。

验证示例

输入3时输出:

1
333
1

输入5时输出:

1
333
55555
333
1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 00:12:04