镜花丿水月 发表于 2022-1-26 16:44:06

25课的动动手 提示把我看懵了

如图。。。
为什么TOP和LEFT初始值是0?
原始列表里的一个元素的长度为什么叫做RIGHT?
原始列表里的元素个数为什么叫做BOTTOM?

为什么转来转去,第二次遍历的时候就各种+1 -1的。。。

提示都看昏了=。=
有没有谁能帮忙解释一下???

最后为什么LEFT比RIGHT大,TOP比BOTTOM大就结束了???


另外有没有鱼C的PYTHON交流的微信群啊。。
每次发帖询问的话还是有些不及时

谢谢各位大佬了!

python爱好者. 发表于 2022-1-26 16:45:25

请不要无意义灌水!
举起手来!不然我要举报了!!!{:10_305:}

镜花丿水月 发表于 2022-1-26 16:46:49

本帖最后由 镜花丿水月 于 2022-1-26 16:48 编辑

python爱好者. 发表于 2022-1-26 16:45
请不要无意义灌水!
举起手来!不然我要举报了!!!

没有灌水。。。。发了带图片的帖子 说帖子找不到了。。。我就试一下文字的帖子能不能发出来 然后编辑内容。。。。

镜花丿水月 发表于 2022-1-26 17:58:26

顶一下

python爱好者. 发表于 2022-1-26 18:18:16

top 就是表示目前遍历到了多维列表的哪一行,
而 left 就是表示目前遍历到了多维列表的那一列,
而 right 表示多维列表的行数,
而 bottle 表示多维列表的列数。
所以每遍历一次,也就是转一个圈,
多维列表的列数就会少一行,所以 bottle 就会减一,
而多维列表的行数便也少一列,所以 right 也要相应的减一,
而多维列表目前遍历到的行数便也会多一行,所以 top 就要加上一,
而多维列表目前遍历到的列数便也会多一列,所以 left 就要加上一。


懂了吗?不懂可以再问!懂了就给个好评呗!!!
{:10_257:}{:10_297:}{:10_281:}{:10_298:}
打字不易!请给个好评!!!
兄弟!给个好评!求求了!!!
{:10_254:}{:10_254:}{:10_254:}{:10_254:}


ps:我当时为了理解,花了我一周时间,你要好好珍惜我的劳动成果啊!!!

做最好的自己520 发表于 2022-1-26 23:05:52

#把矩阵想像成一个正方形,那它有什么特征?对的它有四个面所以我们要定义它的4个面
matrix = [,
          ,
          ,
          ]

#防止矩阵发生改变,进行数据关联
#获取列表的行的长度并赋值给 rows
#过去列表的列的长度并赋值给 tall
tows = len(matrix)
#tows 与 tall 变量的作用:防止矩阵改变,代码无法判断运行,例如 矩阵为3*3,那么在下面代码中每一行都要 减少一个单位(-1)
tall = len(matrix)


left = 0#左边
right = tall - 1 #行长

top = 0   #顶部
bottom = tows - 1#底部

JIAYOU = []#用来存储变量
while left <= right and top <= bottom:#左边小于右边,顶部小于底部
    #若是我们用到range() ,它是取不到尾数的,所以我们要 + 1 ,超过范围才能取的到
    #从左往右遍历
    for col in range(left , right+1):
      JIAYOU.append(matrix)

    #从上到下遍历
    for row in range(top+1 , bottom + 1):
      JIAYOU.append(matrix)

    if left < right and top < bottom:
      #从右往左遍历
      for col in range(right-1 , left,-1):
            JIAYOU.append(matrix)

      #从下到上遍历
      for row in range(bottom , top , -1):
            JIAYOU.append(matrix)
   
    #当转外圈的时候部分固定的值都+1,要回到内圈的时候部分固定值都-1,这样就OK
    #判断条件是否满足
    left += 1
    right -= 1
   
    top += 1
    bottom -= 1

print(JIAYOU)

做最好的自己520 发表于 2022-1-26 23:13:33

如果你已经弄懂了上面代码,不妨在答应我一个小小的要求{:10_256:}:1,按逆时针旋转打印 ,2,从内到外旋转打印{:10_281:}
当然我并没有再坑你{:10_245:}

镜花丿水月 发表于 2022-1-27 09:18:11

python爱好者. 发表于 2022-1-26 18:18
top 就是表示目前遍历到了多维列表的哪一行,
而 left 就是表示目前遍历到了多维列表的那一列,
而 right ...

谢谢!!!已经给了最佳答案 您这一解释我就明白了是什么意思了!

镜花丿水月 发表于 2022-1-27 09:19:17

做最好的自己520 发表于 2022-1-26 23:13
如果你已经弄懂了上面代码,不妨在答应我一个小小的要求:1,按逆时针旋转打印 ,2,从内到外旋 ...

不好意思哈!!我是想知道老污龟的提示是什么意思 然后自己想通自己敲代码。。。。谢谢哦!

python爱好者. 发表于 2022-1-27 10:24:08

感谢兄弟好评!!!
页: [1]
查看完整版本: 25课的动动手 提示把我看懵了