为了练习python,我正在做一些随机项目,并尝试制作一个垃圾机器人,它可以垃圾发送谷歌表单。大部分代码我都写过,但我不知道如何从某个位置循环代码
import pyautogui
import random
import webbrowser
import time
from itertools import count, repeat
list = ["Test", "test", "tesT"]
countA = input("A:")
webbrowser.open('https://docs.google.com/forms/d/1YPhaNvFkncyGuCxIcJ7UhjQDeR55WX20H8cdmPxlSGU/viewform?edit_requested=true', new = 2)
while (countA<countA):
pyautogui.moveTo(700, 360)
time.sleep(2)
pyautogui.click()
item = random.choice(list)
pyautogui.write(item)
time.sleep(1)
pyautogui.moveTo(700, 430)
time.sleep(1)
pyautogui.click()
time.sleep(2)
pyautogui.moveTo(700, 255)
pyautogui.click()
countA = countA + 1
else:
break
我想循环的部分:
pyautogui.moveTo(700, 360)
time.sleep(2)
pyautogui.click()
item = random.choice(list)
pyautogui.write(item)
time.sleep(1)
pyautogui.moveTo(700, 430)
time.sleep(1)
pyautogui.click()
time.sleep(2)
pyautogui.moveTo(700, 255)
pyautogui.click()
countA = countA + 1
我使用break尝试了一个while循环,但以不同的方式失败(主要是告诉我break不在循环中)。我想我成功地把其他部分做好了(如果我错了,请纠正我)。
TLDR:我试图让它请求用户输入它应该循环多少次,然后循环所提到的数量
如果有不清楚的地方,对不起
我看到两个问题:
input
函数返回一个字符串,而不是任何类型的数字。这意味着,如果用户输入^{countA = input("A:")
将countA
设置为'3'
(字符串)。您需要将其转换为整数。如果我们假设您不关心输入验证,则可能如下所示:
countA
来存储用户希望的迭代次数和已经发生的迭代次数。这导致了无意义的while (countA<countA):
,它总是失败。您基本上有三种补救方法:
for _ in range(countA):
而且,错误是正确的;您的
break
不在循环中。您的break
位于else
块中,如果while循环因其条件而终止,则会触发该块。见this explanation相关问题 更多 >
编程相关推荐