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

使用for循环生成字符串ASCII艺术 修复字符重复与索引报错问题

问题原因

  • 现有代码中middle行始终取name[0]也就是字符串的第一个字符重复拼接,因此输出全为P,没有遍历整个字符串的每个字符
  • 循环逻辑冗余,循环仅为了获取和字符串长度相等的i值,可直接通过len(name)获取不需要循环
  • 之前出现IndexError是因为你尝试用i作为下标取字符时,i的最大值超过了字符串的最大下标(字符串下标从0开始,最大下标为len(name)-1)

实现方案(无需手动添加换行符)

利用print()函数默认在输出结尾添加换行符的特性,分三次打印三行内容即可,无需手动拼接\n:

def art(name):
    name_upper = name.upper()
    # 上下边框通用
    border = "+" + "-+" * len(name_upper)
    # 遍历每个字符拼接中间行
    middle = "|" + "|".join(name_upper) + "|"
    # 三次打印自带换行
    print(border)
    print(middle)
    print(border)

art("Python")

运行输出结果:

+-+-+-+-+-+-+
|P|Y|T|H|O|N|
+-+-+-+-+-+-+

内容的提问来源于stack exchange,提问作者zаѓатhᵾѕтѓ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:36:04