针对列表的操作,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