You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用While Loop时代码异常:x==190触发后执行逻辑失效咨询

问题分析与修改方案

你的代码问题出在嵌套循环的逻辑冲突:外层while x < 190和内层for number in range(190)重复控制循环次数,导致当x达到190时,外层循环条件不满足,同时内层循环仍在执行,x被直接重置为1,跳过了Shift按键的执行逻辑。

修改方案1:简化为无限循环+固定次数点击(推荐)

直接用while True实现无限循环,先完成190次点击,再执行Shift操作,逻辑更清晰:

import pyautogui
import pydirectinput
import time

while True:
    # 执行190次点击操作
    for _ in range(190):
        time.sleep(0.1)
        pyautogui.click(480, 595)
    # 点击完成后触发Shift按键逻辑
    pydirectinput.keyDown('shiftleft')
    time.sleep(2.5)
    pydirectinput.keyUp('shiftleft')

修改方案2:保留计数器逻辑

如果想继续使用x作为计数器,需要去掉冗余的外层while循环,改用while True实现无限循环,确保计数器触发Shift逻辑后能正确重置:

import pyautogui
import pydirectinput
import time

x = 1
while True:
    time.sleep(0.1)
    pyautogui.click(480, 595)
    x += 1
    if x == 190:
        # 执行Shift按键操作
        pydirectinput.keyDown('shiftleft')
        time.sleep(2.5)
        pydirectinput.keyUp('shiftleft')
        x = 1  # 重置计数器,准备下一轮循环

两种方案都能实现「无限循环执行190次点击→触发Shift按键→重复」的完整逻辑。

内容的提问来源于stack exchange,提问作者Thunder Boi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 07:15:38