我的问题是关于WHILE中的IF函数

时间:2018-11-12 16:06:41

标签: python

我想问你,为什么循环对我不起作用,我认为问题出在条件上,但我试图找出循环在哪里,我不能。

import time
from pynput.mouse import Button, Controller
from pynput.keyboard import Key, Controller as keyboardController

mouse = Controller ()
keyboard = keyboardController ()
var = 0
a = 0
b = 3
c = 1

time.sleep(5)
while var == 0:
    if a < b:
        mouse.position = (1199, 924)
        time.sleep(0.2)
        mouse.click(Button.left, 1)
        time.sleep(3)
        keyboard.press('n')
        keyboard.release('n')
        time.sleep(0.7)
        keyboard.press('\b')
        keyboard.release('\b')
        time.sleep(0.5)
        a + c
    else:
        time.sleep(5)
        mouse.position = (48, 445)
        time.sleep(0.5)
        mouse.click(Button.left, 1)
        time.sleep(0.5)
        mouse.click(Button.left, 1)
        time.sleep(0.5)
        mouse.position = (819, 425)
        time.sleep(0.5)
        mouse.click(Button.left, 1)
        time.sleep(1)
        mouse.click(Button.left, 1)
        time.sleep(0.5)
        for char in "De Gea":
            keyboard.press(char)
            keyboard.release(char)
            time.sleep(0.1)
        time.sleep(1)
        mouse.position = (733, 533)
        ntime.sleep(1)
        mouse.click(Button.left, 1)
        time.sleep(0.5)
        mouse.position = (1109, 851)
        time.sleep(0.5)
        mouse.click(Button.left, 1)
        time.sleep(0.5)
        for char2 in "50000":
            keyboard.press(char2)
            keyboard.release(char2)
            time.sleep(0.1)
        mouse.position = (1187, 937)
        mouse.click(Button.left, 1)
        b = 0

我尝试了许多不同的解决方案,而不是a,b,c放数字和其他东西,但仍然无法正常工作。 感谢您的提示,对不起,我只是初学者。

1 个答案:

答案 0 :(得分:0)

我认为您的问题是else分支从未使用,因为ab从未改变。你有线

a + c

但是您需要了解的是这什么都没做。在程序开始时,a + c == 0 + 1 == 1。这对您有什么作用?没什么,因为1没去。如果您想更改a(因此,当else不再为真时,a < b块最终将被采用),则必须 assign 其中的一个:

a = a + c

或者,您可以使用运算符+=

a += c

此外,您永远不会更改var的值,因此您的循环将永远不会结束,但是我认为暂时是有意的

相关问题