求助:如何用Python实现模10的数字矩形图案绘制
解决“模矩形”绘制问题的修正方案
原代码的问题分析
- 循环逻辑颠倒:原代码外层循环遍历宽度、内层遍历高度,导致输出的是
height行width列的结构,和需求的“宽width、高height”(即width列、height行)不符。 - 数字生成错误:直接输出
y(内层循环变量)无法实现“从0开始按打字机顺序递增”的效果,每个位置的数字需要根据全局序号计算。
修正后的代码
width = int(input("Enter the width of the rectangle:")) height = int(input("Enter the height of the rectangle:")) for row in range(height): for col in range(width): # 计算当前位置的全局序号,取模10得到目标数字 current_num = (row * width + col) % 10 print(current_num, end=' ') print()
代码说明
- 外层循环控制行数(遍历
height次),内层循环控制每行的列数(遍历width次),完全匹配“从左到右、从上到下”的打字机顺序。 - 全局序号计算规则:
行索引 × 宽度 + 列索引,对10取模后得到0-9循环的数字,符合需求。
示例输出(3×5矩形)
当输入宽度3、高度5时,输出如下:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
内容的提问来源于stack exchange,提问作者Weiyii Jin
相关产品推荐
相关产品推荐

