题解 | #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
全部评论

相关推荐

昨天 18:54
门头沟学院 Java
点赞 评论 收藏
分享
在评审的大师兄很完美:像这种一般就是部门不匹配 转移至其他部门然后挂掉 我就是这样被挂了
点赞 评论 收藏
分享
dongsheng66:如果想进大厂的话,在校经历没必要占这么大篇幅,可以把专业技能单独放一个专栏写,可以加个项目经历
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务