我无法删除for
- 循环中的间距,因为数字在制作模式时并不相同。
我的代码:
for i in range(1,5):
for j in range(1,i):
print(j)
但我想要的输出是:
1
12
123
1234
答案 0 :(得分: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
答案 1 :(得分:1)
一线解决方案,如果您有兴趣:
print('\n'.join([''.join(['{}'.format(i) for i in range(1,j)]) for j in range(2,6)]))
1
12
123
1234
答案 2 :(得分:1)
for r in range(1,5):
for c in range (1,r+1):
print c,
print
这里,没有参数的打印导致在下一行打印
答案 3 :(得分: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)
答案 4 :(得分:0)
尝试:
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
答案 5 :(得分:0)
我认为@Shiva的想法真的很好,并且使金字塔功能更加通用,也许有人可以使用/享受它:
SELECT `id`, `name`, `img`, `safe_name`, `sku`, `productstatusid` FROM `products`
WHERE `id` IN (SELECT `product_id` FROM `product_category` WHERE
`category_id` IN (?, ?)) AND `active` = ?
答案 6 :(得分:-1)
def pentagon(num):
j = num
for i in range(0, num + 1):
print('{}{}'.format(' ' * j, ' *' * i))
j -= 1
pentagon(2)
输出
*
* *
答案 7 :(得分:-1)
num = int(input())
for i in range (1,num+1):
for j in range(i):
print(j+1,end = '')
print("")
答案 8 :(得分:-3)
x =输入(&#39;输入一些数值&#39;)
S =&#39;&#39;
表示范围(0,x)中的i:
for j in range(0,i+1):
s=s+str(j+1)
print s
s=''