python找人_python之找最后一个人
题目大概是:有10个人围成一圈,从第一个人数,数到3的人出局,问最后一个人是谁?
围成一圈,那就是无限循环,直至最后一个人,我们可以把10个人看做一个列表,每循环一次就把除3为0的数去除,下次再次循环时需要考虑上次循环的余数是0、1、2中的哪个。
具体代码如下
#!/usr/bin/env python
#-*-coding:utf-8-*-
n = 10
#创建初始列表person
for i in range(1,n+1):
person.append(i)
#设置俩个循环变量j和i
j = n
i = 0
#无限循环
while True:
#创建一个回收列表
dellist = []
if i = 0:
for i in range(1,j+1):
if i%3 == 0:
dellist.append(person[i-1])
if i = 1:
for i in range(2,j+2):
if i%3== 0:
dellist.append(person[i-2])
else:
for i in range(3,j+3):
if i%3 == 0:
dellist.append(person[i-3])
i = i%3
j =j-len(dellist)
for delperson in dellist:
person.remove(delperson)
if len(person) == 1:
break
print("Last person is %d"%person[0])
总结
以上是生活随笔为你收集整理的python找人_python之找最后一个人的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 世界顶级的程序员们告诉你:这些书都是你应
- 下一篇: 蓝桥杯真题 Python A组 路径