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

Python字符串与循环实现阶梯式字符图案及重复布局问题

Python字符串与循环实现阶梯式字符图案及重复布局

问题描述

我是Python新手,正在学习字符串和循环(包括嵌套循环),想写代码生成可重复指定次数的特定字符图案。现在用A、B两个字符写的代码会输出连续的A方块和B方块,希望实现阶梯式排列的图案,同时想知道怎么让这个阶梯布局在同一行重复多次。

当前代码与输出

当前代码

square_side = int(input("Please enter the square Step dimension  : "))
square_base = int(input("Please enter the square base dimension  : "))
print("Square AlphaBet Step Pattern")
for i in range(square_side):
    for i in range(square_side):
        print("A", end = '  ')
    print()
for i in range(square_base):
    for i in range(square_base):
        print("B", end = '  ')
    print()

当前输出

A  A  A 
A  A  A 
A  A  A 

B  B  B 
B  B  B 
B  B  B 

期望输出

阶梯式输出

A  A  A 
      B  B  B
     A  A  A 
   B  B  B 
  A  A  A 

重复布局输出

A  A  A      A  A  A
 B  B  B      B  B  B
A  A  A      A  A  A

解决方案

1. 实现阶梯式图案

核心是给每行添加递减的前置空格,同时交替使用A、B字符,通过控制缩进量让图案呈现阶梯效果。

示例代码:

# 可自定义参数
char_count = 3       # 每行显示的字符数量
total_layers = 5     # 阶梯的总层数
indent_step = 2      # 每层缩进的空格数

print("阶梯式字符图案:")
for layer in range(total_layers):
    # 计算当前层的前置空格
    indent = ' ' * (indent_step * (total_layers - layer - 1))
    # 交替选择A/B字符
    current_char = 'A' if layer % 2 == 0 else 'B'
    # 生成一行字符(用两个空格分隔)
    char_line = '  '.join([current_char] * char_count)
    # 打印缩进+字符行
    print(f"{indent}{char_line}")

运行后输出:

A  A  A
      B  B  B
    A  A  A
  B  B  B
A  A  A

2. 实现阶梯布局的重复

要让布局在同一行重复,只需将每层的字符行重复指定次数,中间用间隔符连接即可。

示例代码:

# 可自定义参数
char_count = 3       # 每行显示的字符数量
total_layers = 3     # 阶梯的总层数
repeat_times = 2     # 布局重复次数
gap = '    '         # 重复布局之间的间隔
indent_step = 2      # 每层缩进的空格数

print("重复布局的阶梯图案:")
for layer in range(total_layers):
    indent = ' ' * (indent_step * (total_layers - layer - 1))
    current_char = 'A' if layer % 2 == 0 else 'B'
    char_line = '  '.join([current_char] * char_count)
    # 重复字符行并添加间隔
    repeated_line = gap.join([char_line] * repeat_times)
    print(f"{indent}{repeated_line}")

运行后输出:

A  A  A    A  A  A
 B  B  B    B  B  B
A  A  A    A  A  A

3. 扩展:支持用户输入参数

把参数改成用户输入,让程序更灵活:

char_count = int(input("请输入每行的字符数量:"))
total_layers = int(input("请输入阶梯总层数:"))
repeat_times = int(input("请输入布局重复次数:"))
gap = input("请输入重复布局的间隔(如'    '):")
indent_step = int(input("请输入每层缩进的空格数:"))

print("\n自定义阶梯图案:")
for layer in range(total_layers):
    indent = ' ' * (indent_step * (total_layers - layer - 1))
    current_char = 'A' if layer % 2 == 0 else 'B'
    char_line = '  '.join([current_char] * char_count)
    repeated_line = gap.join([char_line] * repeat_times)
    print(f"{indent}{repeated_line}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 12:45:49