python - 如何在 Python 3 中生成行和列

标签 python python-3.x sequence rows

我需要知道如何生成在行(共 6 行)列(共 7 列)中右对齐的数字序列 em> 具有设定的字段宽度(2)和空间(1)。

首先我必须要求用户输入号码 "n" (要求 -6 < n < 2 )然后打印 "n to n+6"在第一列中,"n+7 to n+13"在下面的专栏中等等。

我从以下代码中获得了输入/输出,但不知道如何生成行和列(或指定字段宽度):

n = int(input("Enter the start number: "))

if n>-6 and n<2:
    for x in range(n, n+41):
        print(n, end=" ")
        n = n+1

我一直在尝试使用此 for 循环中的 for 循环来完成此操作,但无法弄清楚。任何帮助将不胜感激 - 提前谢谢您!

最佳答案

最大的数字只能有两位数,所以你只需要右对齐 2,在第一个循环中使用 6 的步长,并从第一个 x 开始内循环,我们还需要捕获 n 何时相等至-5,38步长为 6 总是给我们 7 列和 6 行,除非 n 是 -5 那么我们需要使用 37 所以减去 (n < -4)当 n 为 -5 时,将得到 38 -> 37,否则什么也不带走:

n = int(input("Enter the start number: "))

if -6 < n < 2:
    for x in range(n, 38 - (n < -4), 6):
        for j in range(x,  x + 6):
            print("{:>2}".format(j), end=" ")
        print()

将其放入函数 pr_right 并从 -5 到 1 运行:

-5 -4 -3 -2 -1  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 

-4 -3 -2 -1  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 

-3 -2 -1  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 

-2 -1  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 

-1  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 

 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 

 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 

还有其他更简单的方法,但我想这是某种学习练习。

如果它实际上是 6 行 7 列,那就更容易了:

for x in range(n, 37, 7):
    for j in range(x,  x + 7):
        print("{:>2}".format(j), end=" ")
    print()

如果我们通过另一个 pr_right 函数运行它,输出:

In [10]: for n in range(-5, 2):
             pr_right(n)
             print()
   ....:     
-5 -4 -3 -2 -1  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 

-4 -3 -2 -1  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 

-3 -2 -1  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 

-2 -1  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 

-1  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 

 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 

 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 

关于python - 如何在 Python 3 中生成行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36246882/

相关文章:

python - 阵列点积

python - 在空闲状态下停止光标闪烁

python - 编写异步 HTTP 库是否需要 Python 的 AsyncIO 协议(protocol)?

python - Python中的异常(多个try block )

python 3 : Searching A Text File Smartly

r - 两个数字的序列,其中之一出现的次数减少

swift - 如何对标签栏的第二项进行转接?

python - 异常: Exception ('Exception caught in workbook destructor. Explicit close() may be required for workbook.' ,)

Python 手动/独立/可移植 Windows 安装

postgresql - 如何找出一个序列是否在这个 session 中被初始化?