亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 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 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號