我无法删除for
循环中的间距,因为数字不是用来制作模式的。
我的代码:
for i in range(1,5):
for j in range(1,i):
print(j)
但我想要的输出是:
1
12
123
1234
试试这个:
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
s之间留出空格。如果你不想要这个,你可以使用import sys
并使用sys.stdout.write(j)
(参见sys
)。
此外,如果您想使用如上所示的Python 3打印功能,您可以随时使用
from __future__ import print_function
一线解决方案,如果您有兴趣:
print('\n'.join([''.join(['{}'.format(i) for i in range(1,j)]) for j in range(2,6)]))
1
12
123
1234
for r in range(1,5):
for c in range (1,r+1):
print c,
print
这里,没有参数的print会导致下一行打印
为了获得一行中的所有数字,您必须每行使用一个打印语句。你可以这样做的一种方法是:
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)
尝试:
def RTN():
x = 1
num = int(input('Type any integer besides 0: '))
if num == 0:
return 'Try again!'
while x < num + 2:
print('')
for y in range(1, x):
print(str(y) + ' ', end = '')
x += 1
def pentagon(num):
j = num
for i in range(0, num + 1):
print('{}{}'.format(' ' * j, ' *' * i))
j -= 1
pentagon(2)
产量
*
* *
x =输入('输入一些数值')
S = ''
对于范围(0,x)中的i:
for j in range(0,i+1):
s=s+str(j+1)
print s
s=''