首先,介绍一下for循环,for循环可以遍历任何序列的项目,如一个列表、一个字符串、一个字典!
今天的需求:
我们要把一个如下的列表
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],接下来循环心形的第二行,依次类推;
需求很简单,就是改变列表的排序从而输出自己想要的顺序,上代码:
在python自带的IDLE中执行这个文件,你会发现变化!!!
代码的主要含义是,首先先确定X轴方向的字符串的数量,因为我们相当于旋转了一下列表,所以旋转后的Y轴及是旋转前的X轴
包含的基础知识:
for 循环语句:or循环可以遍历任何序列的项目,如一个列表或者一个字符串。
range函数:函数可创建一个整数列表,一般用在 for 循环中。
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函数: 方法返回对象(字符、列表、元组等)长度或项目个数。
网友评论