3 回答

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
board = range(1,26) #the gameboard
for row in [board[i:i+5] for i in range(0,22,5)]: #go over chunks of five
print('|'.join(["{:<2}".format(n) for n in row])+"|") #justify each number, join by |
print("-"*15) #print the -'s
產(chǎn)生
>>>
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|
---------------
或使用grouper@abarnert建議的配方:
for row in grouper(5, board):

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
只是為了好玩,這里有一個(gè)1-liner來(lái)創(chuàng)建編號(hào)的行:
['|'.join([str(y).center(4) for y in x]) for x in map(None,*[reversed(range(1,26))]*5)]
稍微分解一下,添加行,仍然不是一個(gè)干凈的答案:
nums = map(None,*[reversed(range(1,26))]*5)
rows = ['|'.join([str(y).center(4) for y in x]) for x in nums]
board = ('\n'+'-'*len(rows[0])+'\n').join(rows)
print board
添加回答
舉報(bào)