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

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

Python For 循環在中間停止工作

Python For 循環在中間停止工作

藍山帝景 2021-11-16 11:00:43
列表中的變量與代碼一起工作正常:pyautogui.typewrite(i) 并在列表中途停止隨機工作。下面可以進行哪些改進,我怎樣才能不惜一切代價讓它到達文件的末尾?它可能與 for 循環以外的其他語句有關,還是我應該想出更好的方法來從文本文件中獲取列表?提前謝謝你的幫助。results = []    with open('H:\RetiredDevices.txt') as inputfile:        for line in inputfile:            results.append(line)while True:    for i in results:        pyautogui.click(PressEnter1)        pyautogui.click(PressEnter1)        time.sleep(1)        pyautogui.click(PressEnter2)        #pyautogui.click(PressEnter3)        pyautogui.click(PressEnter4)        pyautogui.typewrite(i)        pyautogui.press('enter')        time.sleep(1)        retired_devices.append(i)        results.remove(i)    if len(results) == 0:        break
查看完整描述

2 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

這導致您跳過列表中的某些元素: results.remove(i)


演示:


res = [k for k in range(0,10)]


for i in res:

    print(i)

    res.remove(i)


>>>output

    0

    2

    4

    6

    8


查看完整回答
反對 回復 2021-11-16
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

不要results.remove(i)在循環本身中使用。您通常不想在您仍在迭代的列表中添加或刪除正在迭代的列表中的內容。通常我會建議將所有要刪除的項目添加到另一個列表中,然后迭代該列表以將它們從原始列表中刪除。這看起來你已經在其加入retired_devices,所以我會遍歷retired_devices的循環結束后,并results.remove(i)在每一個我retired_devices。您也不需要while循環,for循環將在完成所有元素后結束。


查看完整回答
反對 回復 2021-11-16
  • 2 回答
  • 0 關注
  • 360 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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