题解 | #MP3光标位置#

MP3光标位置

https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15

#mp3换页
while True:
    try:
        a = int(input())#歌曲数目
        b = input()#操作U,D向上,向下
        p = 1#设置一个指针初始值为1,也即初始状态默认选择第一首歌曲
        org = []#存储所有歌曲
        for i in range(1, a + 1):
            org.append(i)
        lis = org[0:4]#存储初始页歌曲(第一页歌曲),每页四首歌曲
        if a <= 4:#歌曲数小于等于4时,只有一页
            for i in b:
                if i == 'U':
                    if p == 1:
                        p = a
                    else:
                        p = p - 1
                elif i == 'D':
                    if p == 4:
                        p = 1
                    else:
                        p = p + 1
                else:
                    print('只能输入U,D!!')
        else:#歌曲数大于4,多页操作
            for i in b:#计算操作次数
                if i == 'U':#操作方式(U向上选择)
                    if p == 1:#p=1为初始状态,向上操作一次,直接翻到最后一页,同时选择最后一首歌曲
                        lis = org[a - 4:a+1]#切换为最后一页
                        p = a#选择最后一首歌曲
                    else:#不在初始位置向上操作一次,则指针上移,p减1
                        p = p - 1
                        if p == lis[0]-1:#当指针在当前页的第一首歌曲时,如果继续上移一次,则页面一次向上切换一次
                            lis = list(map(lambda x: x - 1, lis))

                elif i == 'D':#与U同理,差异不大
                    if p == a:
                        lis = org[0:4]
                        p = 1
                    else:
                        p = p + 1
                        if p == lis[3]+1:
                            lis = list(map(lambda x: x + 1, lis))
        for i in lis:
            print(i,end=' ')
        print()
        print(p)
    except:
        break
全部评论

相关推荐

最喜欢秋天的火龙果很...:第一份工作一定要往大的去,工资低点没事。后面换工作会更好找,即使你去小公司,你也不可能不会换工作的。所以找大的去
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务