`
siweidashu
  • 浏览: 8870 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

新浪SEA_普通开发者免推荐认证活动

阅读更多
#coding=utf-8
def alive(m, n):
    a = range(m)
    while len(a)>1:
        b = (n%len(a) and n%len(a) or min(len(a), n))-1
        yield "%d is died" % a[b]
        a = a[b+1:]+a[0:b]

import sys
m, n = len(sys.argv)>2 and tuple(map(int, sys.argv[1:3])) or (30, 6)
for i in alive(m, n):
    print i   




1: 定位删除的位置
2: 重构LIST


以上是用yield生成器的方式,也可以改成迭代器方式(iter, next)


链接: http://cloudbbs.org/forum.php?mod=viewthread&tid=13193&page=10&extra=#pid70174
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics