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之找最后一个人的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 世界顶级的程序员们告诉你:这些书都是你应
- 下一篇: matlab数学建模程序代码大全,mat