先来点实际的(虽然很基础)我也很菜
a = ['离离原上草','一岁一枯荣','野火烧不尽','春风吹又生']
print("横板")
for i in range(0,4):
print()
for j in range(0,5):
print((a[i][j]),end='')
print()
print("竖版")
for i in range(0,5):
print()
for j in range(3,-1,-1):
print((a[j][i]),end='')
老师要求使用双层for循环来实现对列表中元素的横向纵向输出,如下图所示:
横版正常输出,可以视作是一个二维数组。大家都知道字符串也有索引从零开始,可以这样理解:
0 | 1 | 2 | 3 | 4 | |
0 | 离 | 离 | 原 | 上 | 草 |
1 | 一 | 岁 | 一 | 枯 | 荣 |
2 | 野 | 火 | 烧 | 不 | 尽 |
3 | 春 | 风 | 吹 | 又 | 生 |
a[0][0]就代表第一个元素字符串的第一个字符串"离",在这里我们要注意字符串和列表的索引都是从零开始的。所以我们可以使用双层for循环来写,按照上述例子我们需要的顺序就是。
a[0][0] a[0][1] a[0][2] a[0][3] a[0][4]
a[1][0] a[1][1] a[1][2] a[1][3] a[1][4]
a[2][0] a[2][1] a[2][2] a[2][3] a[2][4]
a[3][0] a[3][1] a[3][2] a[3][3] a[3][4]
如此便是横板输出对应诗句所需要的索引要求,细心观察可以发现一共循环四次每次第二位索引都是0,1,2,3,4。一共四行五列,我们写一个4*5的循环
for i in range(0,4):
print()
for j in range(0,5):
print((i,j),end='')
排版一下如图
加上列表名前缀,记住一定是中括号
a = ['离离原上草','一岁一枯荣','野火烧不尽','春风吹又生']
print("横板")
for i in range(0,4):
print()
for j in range(0,5):
print((a[i][j]),end='')
效果如下图
竖版同理我们找出规律,对应的索引类似坐标一样
a[3][0] a[2][0] a[1][0] a[0][0]
a[3][1] a[2][1] a[1][1] a[0][1]
a[3][2] a[2][2] a[1][2] a[0][2]
a[3][3] a[2][3] a[1][3] a[0][3]
a[3][4] a[2][4] a[1][4] a[0][4]
规律还是有迹可循的虽然是个笨办法,哈哈哈哈哈啊哈哈哈哈哈,这里要注意的是range(0)函数输出倒叙是3,2,1,0。所以range(3,-1,-1),这个类似于二位列表是五行四列和上面横版是反过来的。
for i in range(0,5):
print()
for j in range(3,-1,-1):
print((a[j][i]),end='')
效果如下图:
以上就是本次一些基础的分享,有什么不对的大佬可以指出教教我,我就是来混经验的。哈哈哈哈哈啊哈哈。不是专业的,大家能懂就可可以了