2013-08-16 682 views

回答

5

試試這個:

print(j, end='') 

end默認爲\n(見print())。此外,請務必在每次外部循環迭代結束時打印一個換行符:

for i in range(1,6): # notice that I changed this to 6 
    for j in range(1,i): 
     print(j, end='') # added end='' 
    print() # printing newline here 
 
1 
12 
123 
1234 

編輯你使用Python 2.7我只注意到。由於這種情況,您可以使用print j,而不是print(j, end='')print而不是print()。請注意,print j,將在j之間留出空格。如果你不想要這個,你可以用import sys,而用sys.stdout.write(j)代替(見sys)。

此外,如果你想使用Python 3打印功能,如上圖所示,你可以隨時

from __future__ import print_function 
+0

會不會'打印Ĵ,'數字之間有空格? EG'1 2 3 4'而不是'1234'。 – mr2ert

+0

@ mr2ert是的。我解釋瞭如果OP不需要這些空間,該怎麼辦。 – arshajii

+0

非常感謝你.. :) –

0

爲了讓所有在一行中的數字,你將不得不使用一個打印您想要的每行語句。你可以做到這一點的方法之一是:

for i in range(1, 5): 
    print(''.join([str(n) for i in range(1, i)])) 

保持嵌套for循環,你可以這樣做:

for i in range(1, 5): 
    temp = '' 
    for j in range(1, i): 
     temp += str(j) 
    print(temp) 
0

X =輸入( '輸入一些數值')

S = ''

對於i在範圍(0,x)的:

 for j in range(0,i+1): 

       s=s+str(j+1) 
    print s 
    s='' 
1

一號線的解決方案,如果你有興趣:

print('\n'.join([''.join(['{}'.format(i) for i in range(1,j)]) for j in range(2,6)])) 

1 
12 
123 
1234 
1
for r in range(1,5): 
    for c in range (1,r+1): 
     print c, 
    print 

這裏,沒有論據打印導致打印下一行