针对列表的操作,4为窗口值

while True:
    try:
        num = int(input())
        music_list = []
        for i in range(num):
            music_list.append(i + 1) #歌曲从1到num
        operate = list(input()) #所有的操作
        if(len(music_list) <= 4): #若歌曲小于四个
            show = music_list #显示列表就是歌曲列表
            choise = 1 #当前歌曲指针
            for i in operate:
                if(i == 'U'): #向上
                    if(choise == 1):#特殊翻页
                        choise = show[-1] #指针指向最后的歌曲
                    else: #只是向上
                        choise -= 1 #指针指向前一首歌
                if(i == 'D'): #向下
                    if(choise == show[-1]): #特殊翻页
                        choise = show[0]
                    else: #只是向下
                        choise += 1 #指向下一首歌曲
        else:
            show = music_list[:4] #初始化show,歌曲列表的前四首歌曲
            choise = 1 #初始化指针
            for i in operate:
                if(i == 'U'): #向上
                    if(choise == 1): #特殊翻页
                        choise = music_list[-1] #只想最后一首歌曲
                        show = music_list[-4:] #展示列表展示最后四首歌曲
                    elif(choise == show[0]) and (choise != 1): #一般翻页
                        choise -= 1 #光标指向当前的上一首歌
                        show = music_list[choise - 1:choise + 3] #显示列表更新,比如:3456更新为2345
                    else: #只是向上
                        choise -= 1
                if(i == 'D'): #向下
                    if(choise == music_list[-1]): #特殊翻页
                        choise = music_list[0] #指向第一首歌
                        show = music_list[:4] #显示前四首歌
                    elif(choise == show[-1]) and (choise != music_list[-1]): #一般翻页
                        choise += 1 #光标向下一首歌
                        show = music_list[choise - 4 :choise] #更新显示列表,2345更新为3456
                    else: #只是向下
                        choise += 1
        print(*show) #输出显示列表
        print(choise) #输出当前光标
    except:
        break