如何在while循环中处理if语句 - Python
Posted
技术标签:
【中文标题】如何在while循环中处理if语句 - Python【英文标题】:How to handle if statement inside a while loop - Python 【发布时间】:2021-08-05 17:47:57 【问题描述】:我正在为我自己的游戏创建一个游戏机器人,在这个(附图在下面)游戏中,这个火柴人随机转身并转身离开。与此同时,如果他可以使用点击按钮窃取他的钱当你点击按钮时转身,游戏就结束了。
我要执行的是,使用 pyautogui 库获取其前额的 x,y 值和 RGB 的像素 R 值,如果它匹配其前额的 R 值,我将执行鼠标点击。如果没有也一样。
导入键盘 导入pyautogui 虽然不是keyboard.is_pressed('q'): 如果 pyautogui.pixel(687, 144)[0] != 255: print("看着你") pyautogui.click(681, 662) 别的: print("不看你") pyautogui.click(681,662)我遇到的问题是,当我尝试运行以下脚本时,它运行良好,但鼠标点击事件被触发了不止一次。
导入键盘 导入pyautogui boolval1=真 boolval2=真 虽然不是keyboard.is_pressed('q'): 如果 pyautogui.pixel(687, 144)[0] != 255: 如果 boolval1: print("看着你") pyautogui.click(681, 662) boolval1 = 假 别的: 如果 boolval2: print("不看你") pyautogui.click(681,662) boolval2 = 假我以以下方式尝试了带有 bool 变量的 on 脚本,但一旦这些变量变为false 之后程序无法运行。
每次这个火柴人转身离开时我只能单击一下吗??
这里我附上了游戏的草图以得到一个简短的想法
【问题讨论】:
【参考方案1】: a = 真 虽然不是keyboard.is_pressed('q'): b = 假 如果 pyautogui.pixel(687, 144)[0] == 255: b = 真 如果 b != a: 打印(“点击”) a = b我能够找到答案,这可能会节省时间
【讨论】:
【参考方案2】:您是否尝试过将代码包装在无限循环中
while True:
# do stuff with is pressed and clicks
只是一个建议,但我认为你应该查看 MVC 设计模式, 之后这将是一团糟:
if pyautogui.pixel(687, 144)[0] != 255:
【讨论】:
我不处理任何数据交换来使用 MVC,而 True: 是我在使用时使用的以上是关于如何在while循环中处理if语句 - Python的主要内容,如果未能解决你的问题,请参考以下文章
如何在while循环中使用if,else语句从变量中读取一系列值进行计算
ECMAscript之if..else语句,for循环,while循环,switch,case语句,异常处理
前端—— JavaScript基础操作:if语句for循环while循环for...infor...of异常处理函数事件JS选择器JS操作页面样式