這是我的代碼,這是錯誤的
i = ''
for a in range (1,37):
i = str(a) ' '
print(i)
這是我想要的輸出

uj5u.com熱心網友回復:
試試這個方法:
def contnum(n):
num = 1
for i in range(0, n):
for j in range(0, i 1):
print(num, end=" ")
num = num 1
print("\r")
n = 5
contnum(n)
uj5u.com熱心網友回復:
一種選擇是使用itertools.count:
import itertools
n = 8
c = itertools.count(start=1)
for i in range(1, n 1):
print(' '.join(str(next(c)) for _ in range(i)))
(其實你不需要join,你可以用拆包:print(*(next(c) for _ in range(i))))
如果您不想匯入模塊,但又愿意使用 walrus 運算子(python 3.8 ),
n = 8
c = 0
for i in range(1, n 1):
print(*(c := c 1 for _ in range(i)))
輸出:
1
2 3
4 5 6
7 8 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
uj5u.com熱心網友回復:
你也可以這樣做:-
n=1
for i in range(8):
for j in range (i 1):
print(n,end=' ')
n = 1
print()
uj5u.com熱心網友回復:
limit,a, k = 37,1, 1
while a < limit:
print(' '.join(str(x) for x in range(a, min(a k,limit))))
a = k
k = 1
輸出:
1
2 3
4 5 6
7 8 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
uj5u.com熱心網友回復:
使用itertools.isliceand count, anditer的哨兵的一種方式:
it = iter(range(1, 37))
n = count(1)
f = lambda : list(islice(it, next(n)))
list(iter(f, []))
輸出:
[[1],
[2, 3],
[4, 5, 6],
[7, 8, 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]]
或者,如果您想print:
for i in iter(f, []):
print(*i)
輸出:
1
2 3
4 5 6
7 8 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
uj5u.com熱心網友回復:
我的代碼高爾夫條目:
for n in range(1, 9):
print(*range(1 n*(n-1)//2, 1 n*(n 1)//2))
產生預期的結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/348119.html
