不按循环中断,不确定该做什么



为了练习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:我试图让它请求用户输入它应该循环多少次,然后循环提到的数量。

如果有什么不清楚的地方,很抱歉。

我看到两个问题:

  1. python的input函数返回一个字符串,而不是任何类型的数字。这意味着,如果用户输入3,则线countA = input("A:")countA设置为值'3'(字符串)。您需要将其转换为整数
    如果我们假设您不关心输入验证,则可能如下所示:
countA = int(input("A:"))
  1. 您似乎试图使用相同的变量countA来存储用户想要的迭代次数和已经发生的迭代次数。这导致了无意义的while (countA<countA):,它总是失败
    您基本上有三种补救方案:
    • 在0处启动一个交互计数器并递增,直到达到用户指定的数字
    • 递减保存用户输入的变量,直到它达到0
    • for _ in range(countA):替换while循环

此外,错误是正确的;您的break不在循环中。您的break位于else块中,如果while循环因其条件而终止,则会触发该块。请参阅此解释

相关内容

最新更新