使用Python while循环生成字符矩阵失败的技术求助
问题分析与修复
你的代码存在两个核心问题,导致无法生成预期的行列矩阵:
- 变量
i未在外循环中重置:i的初始化放在所有循环外部,第一次内循环执行完后i的值变为nRow+1,后续外循环的内循环条件i<=nRow不再成立,只会每次额外打印一个字符。 - 缺少换行逻辑:所有字符都通过
end=''连续输出,没有在每行结束后触发换行,导致结果全部挤在一行。
修复后的代码
nRow=int(input("No. of rows: ")) nCol=int(input("No. of columns: ")) ch=input("Which characters? ") j=1 while j<=nCol: i=1 # 每次外循环开始时重置i,确保内循环能完整执行nRow次 while i<=nRow: print(ch, end='') i=i+1 print() # 每行输出完成后换行 j=j+1
运行效果
输入行数2、列数3、字符a时,输出符合预期的2行3列矩阵:
aaa aaa
内容的提问来源于stack exchange,提问作者LordPol
相关产品推荐
相关产品推荐

