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

Python实现姓名递增图案打印:新手代码错误排查求助

你的代码存在这些问题:
  • 错误使用split()处理输入:输入的姓名是连续字符串(比如"WORLD"),split()会按空格分割成列表,若输入无空格,得到的列表仅含1个元素,外层循环只会执行1次,根本无法输出多行递增图案。应该直接使用原输入字符串的长度,无需分割。
  • 变量名重复覆盖:你用s接收输入的姓名后,内层循环又用s作为循环变量,这会直接覆盖掉原本存储姓名的字符串,后续完全无法访问输入的姓名内容。
  • 内层循环逻辑错误:当前内层循环打印的是循环变量的数字值,而非姓名里的字符。正确逻辑应该是提取姓名的前m个字符,组成每一行的内容。
  • 打印格式错误:内层循环的print(s)每次都会换行,导致输出都是单独一行的数字,而非连在一起的字符。应该把每一行的字符拼接好后一次性打印,或者用print(字符, end='')控制不换行,最后再换行。

修正后的示例代码:

name = input("Enter your name: ")
# 遍历1到姓名长度的所有数值,依次打印前1、2...n个字符
for i in range(1, len(name)+1):
    print(name[:i])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:10:32