为什么这是代码在Python中一次又一次地显示相同的结果?

时间:2018-03-06 04:08:02

标签: python-3.x

如果用户输入1,则我想要旋转列表,然后新列表将为[7,4,5,6,9,8],如果输入2新列表将为[8,7,4,5,6,9]

不使用任何预定义的功能,如pop等

list =[4,5,6,9,8,7]
rotate = int(input('How many times you want to rotate : '))
for i in range(0,rotate,1):
    list.insert(0,list[len(list)-1])
    list.remove(list[len(list)-1])
print(list)

2 个答案:

答案 0 :(得分:1)

list.remove()删除列表中找到的第一个项目。由于您将最后一项复制到第一项,因此它将始终删除找到的第一项。 请改用del l[index]

list =[4,5,6,9,8,7]
    rotate = int(input('How many times you want to rotate : '))
    for i in range(0,rotate,1):
        list.insert(0,list[len(list)-1])
        del list[len(list)-1]
    print(list)

答案 1 :(得分:0)

l = [1,2,3,4,5,6,7,8,9,0]
n =  = int(input('How many times you want to rotate : '))
for i in range(0,n):
    l = l[-1:]+l[0:len(l)-1]
    print(l)

Output:

if n = 2
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 0, 1, 2, 3, 4, 5, 6, 7, 8]