排队多行数字

问题描述:

世界!排队多行数字

我被困在一个基本的问题。 我们对这些问题使用简单命令(格式,if,while和所有基础知识)。

我就尽量在能够产生这样的:通过使用下面的代码

1 2 3 4 
    1 2 3 4 
    1 2 3 4 
    1 2 3 4 

number= 0 
while number<= 0: 
    number = input("Give a number which is bigger than 0 : ") 
    if number.isdigit(): 
     number=int(number) 
    else: 
     print("Give an integer") 
     number= 0 
for x in range(number): 
    for y in range(1,number+1): 
     print(" {}{} ".format('',y), end='') 
    print('') 

问题就来了下一个问题:

1 2 3 4 
    5 6 7 8 
    9 10 11 12 
13 14 15 16 

不幸的是我被困在能够改变代码,所以它会遵循上面显示的模式。

在此先感谢!

你只需要采取一个新的变量,并在每次迭代增加它:

number= 0 
while number<= 0: 
    number = input("Give a number which is bigger than 0 : ") 
    if number.isdigit(): 
     number=int(number) 
    else: 
     print("Give an integer") 
     number= 0 
z=0 
for x in range(number): 
    for y in range(1,number+1): 
     z += 1 
     print(" {}{:<3} ".format('',z), end='') 
    print('') 

输出:

>>> 
Give a number which is bigger than 0 : 4 
1 2 3 4 
5 6 7 8 
9 10 11 12 
13 14 15 16 

你也可以做到这一点在for循环,而不是两个:

for i in range(number*number): 
    i+=1 
    print(" {}{:<3} ".format('',i), end='') 
    if i%number==0: 
     print('') 
+0

哦,我怎么没见过! 非常感谢,这正是我需要的! –