2013-12-12 5 views
0

Использование Python 3.3.3 и pywin32 api.объявить несколько переменных одинаковым значениям

Я новичок в python и пытаюсь упростить свой сценарий. Я пытаюсь присвоить одно значение для нескольких переменных, но он говорит

Illegal выражения для дополненного присвоения

import win32api 
import win32con 
import time 

#makes sure your computer doesnt lock when idle for too long... 
def move(x, y): 
    for i in range(10): 
     win32api.SetCursorPos((x,y)) 

     if(i % 1 == 0): x, y += 10 #this is where it crashes 
     if(i % 2 == 0): x, y -= 10 

     time.sleep(5) 

move(500, 500) 

ответ

2

Вы можете сделать:

if(i % 1 == 0): x+=10; y+=10 
if(i % 2 == 0): x-=10; y-=10 

В любом случае будьте осторожны с я% 1, он всегда будет оценивать до 0 и поэтому ваш сначала, если всегда будет выполняться. Может быть, вы хотели бы написать это чередовать направление движения курсора:

if(i % 2 == 1): x+=10; y+=10 
if(i % 2 == 0): x-=10; y-=10 

Больше чтение: How to put multiple statements in one line?

2
if(i % 1 == 0): x, y += 10 #this is where it crashes 
if(i % 2 == 0): x, y -= 10 

Это не возможно сделать это. Когда вы распаковать кортежей в Python число переменных в левой части должно равняться нет. элементов в кортеже справа.

1

Вы можете цепи вместе несколько простые задания, такие как:

a = b = 5 

Это не работает для форсированных заданий как += хотя. Вам придется писать их отдельно.

if i % 1 == 0: 
    x += 10 
    y += 10 

(Кроме того, if не требует скобок.)

+0

Хех старый Habbit .. – user1021726

Смежные вопросы