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

Python while循环编程求助:实现指定数字星号替换格式的输出

问题解决:Python while循环实现对角线替换*输出

原代码存在的问题

  • 缩进不规范:Python对代码缩进敏感度极高,你提供的代码中y += 1、内层print语句的缩进层级混乱,运行时首先会触发缩进错误,无法正常执行。
  • 逻辑不符合需求:原有逻辑是先完整打印1-5的数字,再单独追加打印*,没有在对应位置做内容替换的判断,自然无法输出对角线为*的效果。

修正后代码(全while循环实现)

x = 1
while x <= 5:
    y = 1
    while y <= 5:
        if y == x:
            print("*", end=" ")
        else:
            print(y, end=" ")
        y += 1
    # 每行输出完成后换行
    print()
    x += 1

实现逻辑说明

外层while循环用变量x控制当前行号,取值范围1到5;内层while循环用变量y控制当前行的列号,取值范围1到5。每次内层循环判断列号y是否等于当前行号x,相等就输出*,否则输出对应数字,所有输出默认以空格分隔,内层循环跑完一整行后换行,再执行下一行的输出逻辑。
运行上述代码即可得到你需要的目标输出格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:06:04