去掉奇数项:64
第一次去掉奇数后,剩下2、4、6……96、98、100,所有的数字都是2=2^1的整数倍;
第二次去掉奇数项后,剩余的数为4、8 、12、 16……92、96、100,均是4=2^2的整数倍;
第三次去掉奇数项后,剩余的数应为8=2^3的整数倍的偶数,即是8、16、24、32、40、48、56、64、72、80、88、96;第四次去掉奇数项后,剩余的数为16=2^4的整数倍的偶数,即是16、32、48、64、80、96;
第五次去掉奇数项后,剩余数为32=2^5的整数倍的偶数,即是32、64、96;
最后一次去掉奇数项,则剩余64.
去掉偶数项: 1, 65
同上,变为2的倍数加1.
def last_two(numbers): while len(numbers) > 2: length = len(numbers) for n in range(1, length+1,)[::-1]: if n%2 == 0: numbers.pop(n-1) print(numbers) return numbers nums = [i for i in range(1, 101)] print(last_two(nums))