实训一 古诗横竖输出

先来点实际的(虽然很基础)我也很菜

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循环来实现对列表中元素的横向纵向输出,如下图所示:

横版正常输出,可以视作是一个二维数组。大家都知道字符串也有索引从零开始,可以这样理解:

01234
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='')

效果如下图:

  


以上就是本次一些基础的分享,有什么不对的大佬可以指出教教我,我就是来混经验的。哈哈哈哈哈啊哈哈。不是专业的,大家能懂就可可以了

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值