我的代码不是';t工作(python、pyautogui)
代码只工作一次,即使我在循环中设置了它,我需要修改什么才能使它工作呢我的代码不是';t工作(python、pyautogui),python,pyautogui,Python,Pyautogui,代码只工作一次,即使我在循环中设置了它,我需要修改什么才能使它工作呢 import pyautogui, time time.sleep(5) while True: pyautogui.press("e") pyautogui.click() if w or a or s or d: stop() 假设从您给出的其他回复中,您希望按下e并单击直到按下w、a、s或d,如果按下这四个按钮之一,您希望程序结束。如果您想这样做,可以使用p
import pyautogui, time
time.sleep(5)
while True:
pyautogui.press("e")
pyautogui.click()
if w or a or s or d:
stop()
假设从您给出的其他回复中,您希望按下
e
并单击直到按下w
、a
、s
或d
,如果按下这四个按钮之一,您希望程序结束。如果您想这样做,可以使用python中的键盘
库。按下键盘(键)
功能应检查按下的键是否为上述四个键中的任何一个,如果是,将终止程序。您可以通过执行pip install keyboard
来安装库,例如,您可以这样重写程序:
导入pyautogui、时间、键盘
时间。睡眠(5)
尽管如此:
键盘。按下并释放(“e”)。#这与pyautogui相同。按下(“e”)
pyautogui.click()
如果(键盘按下('w')或键盘按下('a'))或(键盘按下('s')或键盘按下('d')):
break#这是您的stop()函数
编辑:因为我之前只编辑了代码,所以我编辑了注释并给出了正确的解释。什么是
w
,a
,s
,和d
?您是否打算将它们与一个变量进行比较?wasd是游戏的控件它们包含哪些值?它们是弦吗?如果是这样,它们将始终为真(假设它们为非空),这意味着该条件将始终为真,并且stop
将始终运行。你在这种情况下的意图是什么?假设E是一个连续的点击,wasd是停止程序是的。但是这四个变量包含什么呢?请出示a,因为您的代码现在不完整,所以我们只能猜测您的意图和实际代码是什么。我按了w a s和d,程序没有停止。如果您想通过输入而不是硬编码输入字母,您必须写:letter=input(“输入字母”)
而不是:letter=input“e”
当我按w a s或d时,程序没有停止,我希望它按e,但当我按w a s或d时,我希望它停止。使用如果“wasd”中的字母:
来简化条件表达式。@DylanGuthrie好的,所以我编辑了我的响应,现在它应该完成您想要的。