如何用Python打印支持任意n值的n×n连续数字表格?
任意n×n连续数字表格的Python实现方案
需求是输入任意正整数n,打印出从0开始连续递增的n行n列数字表格,且所有数字对齐显示,示例如下(n=8时):
n: 8 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
正确实现代码
n = int(input("n: ")) max_digit_length = len(str(n * n - 1)) for row in range(n): start = row * n end = start + n # 格式化每行的数字,按最大长度右对齐 formatted_numbers = [f"{num:>{max_digit_length}d}" for num in range(start, end)] print(' '.join(formatted_numbers))
代码说明
- 计算对齐宽度:先算出表格里的最大数字(
n*n -1),获取它的字符串长度,作为每个数字的显示宽度,确保所有数字在列上对齐。 - 生成每行数字:循环n次,每行的起始数字是
row*n,结束数字是start+n,用range生成当前行的连续数字。 - 格式化与打印:用列表推导式把每个数字格式化为指定宽度的字符串,再用空格连接成一行后打印。
这个方案能适配任意正整数n,不管n是1位、2位甚至更大的数,都能保证表格整齐对齐。
内容的提问来源于stack exchange,提问作者Lzz
相关产品推荐
相关产品推荐

