找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3014|回复: 3

[已解决] 求教代码中标注为红色字体的意思,看不懂,谢谢!

0

主题

0

帖子

0

积分

贫民

积分
0
旭日 发表于 2021-4-19 16:25:32 | 显示全部楼层 |阅读模式
本帖最后由 旭日 于 2021-4-20 08:48 编辑

class Solution:
    def rotateString(self, s, offset):

        if len(s) > 0:
            offset = offset % len(s)
        temp = (s + s)[len(s) - offset:2 * len(s) - offset]
        for i in range(len(temp)):
            s = temp


if __name__ == '__main__':
    s = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
    offset = 3
    solution = Solution()
    solution.rotateString(s, offset)
    print("输入:s = ", ['a', 'b', 'c', 'd', 'e', 'f', 'g'], ' ', 'offset = ', offset)
    print('输出:s =', s)
回复

使用道具 举报

0

主题

17

帖子

17

积分

贫民

积分
17
一杆钓起满天星 发表于 2021-5-3 17:42:55 | 显示全部楼层
s+s=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'c', 'd', 'e', 'f', 'g']
temp = (s + s)[len(s) - offset:2 * len(s) - offset]#取出temp列表中第4到第11个元素
temp = (s + s)[4:11]=['e', 'f', 'g', 'a', 'b', 'c', 'd']
回复 支持 反对

使用道具 举报

0

主题

3

帖子

3

积分

贫民

积分
3
知秋一叶 发表于 2021-6-4 11:05:12 | 显示全部楼层
这个代码是实现将数组做一个循环右移,将数组的最后offset个数依次取出并放在数组的第一个位置:
for index in range(offset):
    last = s.pop()
    s.insert(0, last)
回复 支持 反对

使用道具 举报

0

主题

18

帖子

18

积分

贫民

积分
18
宫崎峻Miyazaki 发表于 2021-7-30 21:48:54 | 显示全部楼层
我复制到我的pycharm上面运行,并未看见红字,代码没问题
运行顺利
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表