2017-10-05 47 views
1

世界!排隊多行數字

我被困在一個基本的問題。 我們對這些問題使用簡單命令(格式,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 

不幸的是我被困在能夠改變代碼,所以它會遵循上面顯示的模式。

在此先感謝!

回答

1

你只需要採取一個新的變量,並在每次迭代增加它:

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

哦,我怎麼沒見過! 非常感謝,這正是我需要的! –