为了账号安全,请及时绑定邮箱和手机立即绑定

在 Python 中返回函数后枚举停止计数

在 Python 中返回函数后枚举停止计数

跃然一笑 2023-02-07 14:57:56
我的问题是我想return logout()在我的工作人员中调用 ,但这确实会破坏枚举并将idx计数器设置为 0,因此它不会打印item。如何在没有这个问题的情况下返回注销?代码:import timedef logout():    print("logout")N = 4def worker():    for idx, Item in enumerate(range(1, 12)):        if idx % N == 0:            print("Done Session")             time.sleep(1)            return logout()        print(Item)    worker()worker()worker()输出:Done SessionlogoutDone SessionlogoutDone Sessionlogout预期输出:Done Sessionlogout1234Done Sessionlogout5678Done Sessionlogout...
查看完整描述

2 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

您可以将必要的东西存储在列表中,然后一次将它们全部返回(注意:我注释了一些输出不需要的代码行):


N = 4

def worker():

    log = [] # Not needed

    for idx, Item in enumerate(range(1, 12)):

        if idx % N == 0:

            print("Done Session") 

            time.sleep(1)

            log.append(logout()) # logout()

        print(Item)

    return log # Not needed

结果:


Done Session

logout

1

2

3

4

Done Session

logout

5

6

7

8

Done Session

logout

9

10

11

Done Session

logout

1

2

3

4

Done Session

logout

5

6

7

8

Done Session

logout

9

10

11

Done Session

logout

1

2

3

4

Done Session

logout

5

6

7

8

Done Session

logout

9

10

11


查看完整回答
反对 回复 2023-02-07
?
呼唤远方

TA贡献1856条经验 获得超11个赞

这将起作用:


N = 4

def worker():

    for idx, Item in enumerate(range(1, 12)):

        if idx % N == 0:

            print("Done Session") 

            time.sleep(1)

            logout()

        print(Item) 


查看完整回答
反对 回复 2023-02-07
  • 2 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信