首先田度,介紹一下for循環(huán)默怨,for循環(huán)可以遍歷任何序列的項目,如一個列表久锥、一個字符串家淤、一個字典!
今天的需求:
我們要把一個如下的列表
grid = [
['.', '.', '.', '.', '.', '.'],
['.', '0', '0', '.', '.', '.'],
['.', '0', '0', '0', '.', '.'],
['0', '0', '0', '0', '0', '.'],
['.', '0', '0', '0', '0', '0'],
['0', '0', '0', '0', '0', '.'],
['.', '0', '0', '0', '.', '.'],
['.', '0', '0', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']
]
轉換為這個樣子
. . . 0 . 0 . . .
. 0000000 .
. 0000000 .
. . 00000 . .
. . . 000 . . .
. . . . 0 . . . .
分析下需求:
簡單的說就是將列表做一個旋轉的排序瑟由,從而輸出一個心形的圖案絮重;
分解一下grid列表,我們可以把grid中的字符串排序理解為grid[y][x]歹苦,grid[0][0]及為右上角第一個'.';
那么如果要輸出為心形圖案青伤,我們就應該輸出grid[0][0],然后grid[1][0]直至grid[8][0],接下來循環(huán)心形的第二行殴瘦,依次類推狠角;
需求很簡單,就是改變列表的排序從而輸出自己想要的順序蚪腋,上代碼:
在python自帶的IDLE中執(zhí)行這個文件丰歌,你會發(fā)現(xiàn)變化!L肟立帖!
代碼的主要含義是,首先先確定X軸方向的字符串的數量悠砚,因為我們相當于旋轉了一下列表晓勇,所以旋轉后的Y軸及是旋轉前的X軸
包含的基礎知識:
for 循環(huán)語句:or循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串。
range函數:函數可創(chuàng)建一個整數列表宵蕉,一般用在 for 循環(huán)中酝静。
range(start, stop[, step])
start: 計數從 start 開始。默認是從 0 開始羡玛。例如range(5)等價于range(0别智, 5);
stop: 計數到 stop 結束,但不包括 stop稼稿。例如:range(0薄榛, 5) 是[0, 1, 2, 3, 4]沒有5
step:步長,默認為1让歼。例如:range(0敞恋, 5) 等價于 range(0, 5, 1)
?len函數:?方法返回對象(字符、列表谋右、元組等)長度或項目個數。