如何编写循环直到 (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
我正在使用 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