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

如何使用Python打印字符串循环移位构成的指定图案?

问题核心原因

你原代码的问题是直接重复打印完整的原字符串,没有对字符串做循环移位截取处理,同时你重复定义了char_str1变量,会覆盖前一个值,需要先拆分为两个独立的字符串变量。

实现逻辑

  • 左边短字符串序列:每次将字符串向左偏移i位,循环截取长度为num的子串,可通过(原字符串 * 2)[i:i+num]快速实现
  • 右边长字符串序列:每次将前i个字符移动到末尾,可通过原字符串[i:] + 原字符串[:i]实现
  • 两部分中间用固定数量的空格拼接后逐行打印

可运行完整代码

# 修正变量定义,避免重复赋值覆盖
char_str_a = 'abc'
char_str_b = '31452'
num = 5

for i in range(num):
    # 生成左侧图案
    left_part = (char_str_a * 2)[i:i+num]
    # 生成右侧图案
    right_part = char_str_b[i:] + char_str_b[:i]
    # 拼接后打印,中间空格和示例效果对齐
    print(f"{left_part}       {right_part}")

运行输出结果

abcab       31452
bcabc       14523
cabca       45231
abcab       52314
bcabc       23145

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:36:04