Python实现n阶单位矩阵输出(禁用内置函数/库)
问题分析与解决方案
原代码问题
你的代码存在两个关键错误:
- 内层循环从
j = i开始,导致每行只处理从第i列到第n列的位置,遗漏了前i-1列的内容。 - 内层循环中的
break语句会在打印第一个字符后直接退出循环,使得每行仅输出一个字符而非n个字符。
修正后的代码(无内置函数依赖)
以下代码使用while循环实现,完全不依赖range()等内置函数:
n = 3 # 可替换为任意正整数 i = 1 while i <= n: j = 1 while j <= n: print('1' if i == j else '0', end='') j += 1 print() # 换行开始下一行 i += 1
代码说明
- 外层
while循环控制行数,从1遍历到n。 - 内层
while循环控制每行的列数,从1遍历到n。 - 当行号
i等于列号j时输出1,否则输出0,通过end=''确保同一行的字符连续输出。 - 每行所有列处理完成后,执行
print()换行,开始下一行的输出。
内容的提问来源于stack exchange,提问作者satyajit
相关产品推荐
相关产品推荐

