繁体   English   中英

将多个变量声明为相同的值

[英]declare multiple variables to same value

使用Python 3.3.3和pywin32 API。

我是python的新手,正在尝试简化我的脚本。 我正在尝试为多个变量分配一个值,但是它说

扩充分配的非法表达

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)
if(i % 1 == 0): x, y += 10 #this is where it crashes
if(i % 2 == 0): x, y -= 10

这是不可能的。 在Python中解压缩元组时,左侧的变量数必须等于 no。 在右侧的元组中。

您可以这样做:

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

无论如何,对于i%1都要小心,它将始终评估为0,因此您的第一个if始终将执行。 也许您想这样写,以改变光标移动的方向:

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

更多阅读: 如何将多个语句放在一行中?

您可以将多个简单的任务链接在一起,例如:

a = b = 5

不过,这对于+=这样的扩充作业不起作用。 您将不得不分别编写它们。

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

(此外, if不需要括号。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM