Python 我在打印变量时遇到语法错误

Python 我在打印变量时遇到语法错误,python,numpy,matplotlib,Python,Numpy,Matplotlib,我对python(一般来说是编码)相当陌生。如果相关的话,我使用Spyder 4.2.1(Python 3.7.9 64位| Qt 5.12.10 | PyQt5 5.12.3 | Windows 10) 如果我用鼠标点击绘制的图表,我试图找出如何存储坐标。 在谷歌上搜索一些问题可以得到很好的例子,我想在他们的问题和答案中尝试提供的代码。我试图使用代码的问题: 但是,如果我尝试运行下面的代码(对于最初询问的人来说,在这之前似乎工作得很好),我会得到一个SyntaxError:无效语法,并且它指向

我对python(一般来说是编码)相当陌生。如果相关的话,我使用Spyder 4.2.1(Python 3.7.9 64位| Qt 5.12.10 | PyQt5 5.12.3 | Windows 10)

如果我用鼠标点击绘制的图表,我试图找出如何存储坐标。 在谷歌上搜索一些问题可以得到很好的例子,我想在他们的问题和答案中尝试提供的代码。我试图使用代码的问题:

但是,如果我尝试运行下面的代码(对于最初询问的人来说,在这之前似乎工作得很好),我会得到一个SyntaxError:无效语法,并且它指向“y=%d后面的右边”

我在这里感到很难过

import numpy as np
import matplotlib.pyplot as plt


x = np.arange(-10,10)
y = x**2

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x,y)

coords = []

def onclick(event):
    global ix, iy
    ix, iy = event.xdata, event.ydata
    print 'x = %d, y = %d' %(
        ix, iy)

    global coords
    coords.append((ix, iy))

    if len(coords) == 2:
        fig.canvas.mpl_disconnect(cid)

    return coords
cid = fig.canvas.mpl_connect('button_press_event', onclick)

您需要将打印语句放在括号中。i、 e:

print ("x = %d, y = %d" %(
        ix, iy))

在python 3中,.*print是一个需要用括号调用的函数,如
print()
要打印带有变量的字符串,可以使用
.format()
方法,如
print('x={},y={}'。格式(ix,iy))

在Python3.6及更高版本中还有一个类似于

print(f'x={ix},y={iy}')

您使用的是Python 2还是Python 3?对于Python3,使用
print(…)
我使用的是Python3.7.9
print
是Python3中的一个函数,例如
print(a,b,c,d)
。注意括号。注意,在Python3+中,print是一个函数,而不是一个语句。