Skip to main content
 首页 » 编程设计

python之如何将任何列的每个元素恰好放在彼此下面

2025年05月04日20lhb25

<分区>

我的代码的输出有一个问题;
每列的元素并不完全位于彼此之下。


我原来的代码太忙了,所以我把它简化为一个简单的代码;
所以首先 les 解释这个简单的:


首先考虑一个简单的问题如下: 编写一个代码,接收一个自然数 r,作为行数;
并接收另一个自然数c,作为列数;
然后打印所有自然数 在 r 行和 c 列中形成 1 到 rc。


所以代码会像下面这样:

r = int(input("How many Rows? "));     ## here r stands for number of rows  
c = int(input("How many columns? "));  ## here c stands for number of columns  
 
for i in range(1,r+1):  
    for j in range (1,c+1):  
        print(j+c*(i-1)) ,  
    print  

输出如下:

How many Rows? 5 
How many columns? 6 
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 
>>>  

或:

How many Rows? 7 
How many columns? 3 
1 2 3 
4 5 6 
7 8 9 
10 11 12 
13 14 15 
16 17 18 
19 20 21 
>>>  

我应该怎么做才能得到这样的输出?

How many Rows? 5 
How many columns? 6 
 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 
>>>  

或

How many Rows? 7 
How many columns? 3 
 1  2  3 
 4  5  6 
 7  8  9 
10 11 12 
13 14 15 
16 17 18 
19 20 21 
>>>  



Now my original code is somthing like the following:

def function(n):  
    R=0; 
    something...something...something... 
    something...something...something... 
    something...something...something... 
    something...something...something... 
    return(R) 
 
 
r = int(input("How many Rows? "));     ## here r stands for number of rows  
c = int(input("How many columns? "));  ## here c stands for number of columns  
 
for i in range(0,r+1): 
    for j in range(0,c+1) 
        n=j+c*(i-1); 
        r=function(n); 
print (r) 

现在为简单起见,假设通过一些手动操作我们得到:
f(1)=function(1)=17, f(2)=235, f(3)=-8;
f(4)=-9641, f(5)=54278249, f(6)=411;

现在,当我运行代码时,out put 如下所示:

How many Rows? 2 
How many columns? 3 
17 
235 
-8 
-9641 
54278249  
41 
>>>  

我应该怎么做才能得到这样的输出:

How many Rows? 2 
How many columns? 3 
   17      235  -8 
-9641 54278249 411 
>>>  

另请注意,我不想得到这样的东西:

How many Rows? 2 
How many columns? 3 
17 235 -8 
-9641 54278249 411 
>>>