题目描述
某大学开学进行军训队列训练,将学生从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列剩下的依次向前靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的依次向前靠拢,继续从头开始进行一至二报数。。。以后每次从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。
代码如下:
n = int(input())
def number2(list1):
for i in range(len(list1)-1,0,-1):
if (i+1) % 2 == 0:
del list1[i]
if len(list1) <= 3:
print(" ".join(str(i) for i in list1))
else:
number3(list1)
def number3(list1):
for j in range(len(list1)-1,0,-1):
if (j+1)%3 == 0:
del list1[j]
if len(list1) <= 3:
print(" ".join(str(i) for i in list1))
else:
number2(list1)
list2 = []
for i in range(n):
list2.append(int(input()))
for m in list2:
list1 = [i for i in range(1, m + 1)]
number2(list1)
输出列表元素
- 直接输出
for i in l:
print(i)
- 以空格隔开输出(最后一位有空格)
for i in l:
print(i,end=' ')
- 以空格隔开输出(最后一位无空格)
for i in l:
print(" ".join(str(i) for i in l))
- 以逗号隔开输出
for i in l:
print(",".join(str(i) for i in l))