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

Python中空框星号图案代码中末尾print()的作用及缺失影响分析

关于空框星号图案代码末尾print()的作用解析

咱们先拆解你的代码逻辑:这是用两层循环生成n×n空心正方形的经典写法,内层循环负责输出一行里的每个字符,外层循环控制行数。

末尾print()的核心作用

你注意到内层的print("*", end=' ')和print(" ", end=' ')都加了end=' '参数——这个参数的作用是让Python打印完当前内容后,不自动换行,而是用空格结尾。

而末尾的那个无参数print(),它的核心作用就是输出一个换行符(\n),让打印完一行的所有字符后,光标跳到下一行开头,这样下一次内层循环的内容才会从新的一行开始输出,保证图案是规整的多行结构。

移除print()后输出混乱的原因

如果把这个print()删掉,内层循环的所有输出都会因为end=' '的设置,一直往同一行后面追加,完全没有换行。比如输入n=3时:

  • 有print()的正常输出是:
    * * * 
    *   * 
    * * * 
    
  • 移除后,所有内容会挤在同一行,变成:* * * * * * * * (相当于把三行的内容直接连在了一行里)

再举个n=2的例子更直观:

  • 有print()时输出:
    * * 
    * * 
    
  • 移除后就变成:* * * *

小补充

其实你也可以把末尾的print()写成print('\n'),效果完全一样,因为无参数的print()默认就会输出一个换行符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 21:12:45