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

时间:2018-07-19 14:01:24

标签: python loops anaconda pyautogui

我正在使用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)

我只想对其进行迭代,以免执行“复制和粘贴”操作,然后手动编写范围。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您可以使用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

答案 1 :(得分:0)

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

给出要重复多次的“作品”:

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
相关问题