我一直在研究这个问题超过四个小时,我试图检查几个资源。
我正试图得到这样的东西:
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
我目前的代码是:
for i in range(10):
print(i, end = '')
for j in range(10):
print(j, end = '')
print()
打印出来:
00123456789
10123456789
20123456789
30123456789
40123456789
50123456789
60123456789
70123456789
80123456789
90123456789
所以我只需要摆脱最左边的一面。另外,我正在尝试制作看起来像这样的东西:
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
0 1 2 3 4 5
0 1 2 3 4 5 6
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6 7 8 9
我可以从中得到它:
triangle = ''
n = 9
for i in range(0, n+1):
triangle = triangle + (str(i))
print(triangle)
print()
for i in range(11):
for j in range(0+i):
print(j,end=" ")
print()
第一个问题是没有两个for循环,一个嵌套在另一个循环中。第二个问题是我的范围为11,可以打印到9。
最后,我正在努力:
10
11 12
13 14 15
16 17 18 19
20 21 22 23 24
25 26 27 28 29 30
31 32 33 34 35 36 37
38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54
我一直在用这个:
x = 10
for i in range (10):
print (*range (x, x+i))
x += i
但我需要两个for循环。我觉得我很亲密,但是无法获得成品。
感谢。
答案 0 :(得分:0)
第一个代码的问题是您正在打印i
,您无需打印i
。代码就像 -
for i in range(10):
for j in range(10):
print(j, end = ' ')
print()
对于问题的其余部分,如果您在没有嵌套循环的情况下得到答案,为什么还需要嵌套循环?
答案 1 :(得分:0)
首先,试试这个:
print('', end = '')
对于第二个例子,错误是你在第二个for循环中加0。将其更改为:
for j in range(0, 1+i):
range
的问题是它会降低一个数字。看看docs
对于最后一个,您可以使用以下代码,其中y
从10开始。
y = 10
for i in range(0,10):
for j in range(0, i):
print(y + j, end=' ')
print('')
y += i
答案 2 :(得分:0)
以下是如何解决这个问题 -
首先非常简单
ht = 10
y = range(ht)
"\n".join(map(lambda x: " ".join(map(str,x)), [y]*ht))
第二个有点有趣
ht = 10
y = range(ht)
for i in range(1, ht+1):
print " ".join(map(str, y[0:i]))
第三个
start = 10
ht = 9
limit = (ht*(ht+1))/2 # using the sum of n to find out total elements
y = range(start, limit+1)
for i in range(1, ht+1):
print " ".join(map(str, y[0:i]))
y = y[i:]
复杂的map(str, y)
只是要打印一个字符串。
这是你想要的吗?