python 實現N個人,從1數到3,數到3的出局,來回循環,最後剩下一個人

person = []
for i in range(1, 4):
person.append(i)
print 'person:%s' % person
index = 0
while len(person) > 1:
removelist = []
for item in person:
index += 1
if index == 3:
removelist.append(item)
index = 0
print 'removelist:%s' % removelist
for item in removelist:
person.remove(item)

print 'current person list:%s' % person
print 'current removelist:%s' % removelist

print 'left person list:%s' % person

java 版:
import java.util.ArrayList;
import java.util.List;

public class TestShushu {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    List<Integer> list = new ArrayList<Integer>();
    for(int i=1;i<4;i++) {
        list.add(i);
    }
    System.out.println(list);

    int index = 0;
    while(list.size() > 1) {
        List<Integer> removelist = new ArrayList<Integer>();
        for(int i: list) {
            index ++;
            if(index == 3) {
                removelist.add(i);
                //System.out.println(removelist);
                index = 0;
            }
        }
        System.out.println("要刪除的數組" + removelist);
        list.removeAll(removelist);
        System.out.println("當前數組元素:" + list);

    }
    System.out.println("最後留下的那個編號:" + list);

}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章