如何编写循环直到 (Python Anaconda)

How to write a loop until (Python Anaconda)

我正在使用 Jupyter Notebook 包,我想将以下命令重复固定次数。准确地说,脚本写入宽度为 k=4347 的范围,并且对于每次迭代,该范围应该滚动,直到我们得到 N= 798746。

一次迭代由以下命令给出:

pyautogui.click(785, 263)
time.sleep(5)
pyautogui.click(885,11)
pyautogui.click(181, 347)
pyautogui.typewrite('**360795**', 0.25)
time.sleep(1)
pyautogui.click(292, 432)
pyautogui.typewrite('**365141**', 0.25)
time.sleep(1)
pyautogui.click(1348, 699)
time.sleep(180)
pyautogui.click(1335, 212)

我只是想迭代它以避免执行 "copy and paste" 然后手动编写范围。有什么建议吗?

您可以使用 while 循环:

n = 0
max_n_value = 798746
while n < max_n_value:
    # Do your repeated code in here
    pyautogui.click(785, 263)
    time.sleep(5)
    n += 4347

这将循环直到 n 大于您的最大 N 值。每次迭代都会按照您的要求添加 4347

你的问题让我很困惑,但我认为你想要的是这样的:

鉴于 "work" 你想重复多次:

def work():
    pyautogui.click(785, 263)
    time.sleep(5)
    pyautogui.click(885,11)
    pyautogui.click(181, 347)
    pyautogui.typewrite('**360795**', 0.25)
    time.sleep(1)
    pyautogui.click(292, 432)
    pyautogui.typewrite('**365141**', 0.25)
    time.sleep(1)
    pyautogui.click(1348, 699)
    time.sleep(180)
    pyautogui.click(1335, 212)

k 小于 N 时,您可以循环遍历它:

k = 0
N = 798746
while k < N:
    work()
    k += 4347

这只是一个教学示例,还有更优雅的方法可以做到这一点。

更新:

好吧,我终于明白了:

    N = 798746
    bold_number_value_1 = 360795
    bold_number_value_2 = 365141
    while bold_number_value_1 < N and bold_number_value_2 < N:
        pyautogui.click(785, 263)
        time.sleep(5)
        pyautogui.click(885,11)
        pyautogui.click(181, 347)
        pyautogui.typewrite('**{}**'.format(bold_number_value_1), 0.25)
        time.sleep(1)
        pyautogui.click(292, 432)
        pyautogui.typewrite('**{}**'.format(bold_number_value_2), 0.25)
        time.sleep(1)
        pyautogui.click(1348, 699)
        time.sleep(180)
        pyautogui.click(1335, 212)
        bold_number_value_1 += 4347
        bold_number_value_2 += 4347