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

使用while循环打印图案时开头出现多余空行的原因排查

多余空行的原因及修复

核心原因

你的代码里,循环起始值和终止条件的搭配错误导致了开头的空行:

  • 初始row = 0,循环条件是row <= rows,第一次进入循环时,row的值为0,执行0 * "*"会得到空字符串,调用print()打印空字符串就会输出一行空白。
  • 后续row递增到1、2、3,分别输出1个、2个、3个星号,这部分符合预期,但开头的空行就是第一次循环的产物。

另外注意:函数定义只接收1个参数rows,但你调用时传了True, 3两个参数,这会触发TypeError,应该是笔误,正确调用应为print_pattern(3)。

修复方案

有两种简单的修复方式:

方式一:修改循环条件

把row <= rows改成row < rows,让循环从0到rows-1执行,避免第一次输出空字符串:

def print_pattern(rows):
    row = 0
    while row < rows:
        output = row * "*" 
        row += 1
        print(output)

print_pattern(3)

方式二:调整初始row值

将row的初始值设为1,保持循环条件row <= rows,这样第一次循环就直接输出1个星号:

def print_pattern(rows):
    row = 1
    while row <= rows:
        output = row * "*" 
        row += 1
        print(output)

print_pattern(3)

修复后的输出与预期一致:

*
**
***

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:33:27