0

大家,我通常使用 spyder 在 python 中编写,我编写这些简单的代码行来绘制一些图形,但我不明白为什么它在运行时不能正常工作,但是如果我复制并粘贴这些行python控制台它完美地工作。这是代码:

import matplotlib.pyplot as plt
import numpy as np
z=np.arange(0,250,1)
f_z1=np.append([z[0:100]*0],[z[100:150]/2500 -(1/25) ])
f_z3=np.append(f_z2,[z[200:] *0])
plt.plot(z,f_z3)

我想了解为什么我有这个问题,谢谢帮助。

4

1 回答 1

0

如果您习惯于使用 Matlab,Python < 3 中的除法的工作方式与您所期望的不同。所以从一个标准的 Python 控制台你会得到这个(整数相除得到一个整数):

>>> 1/2
0

这在 Python 3 中已经改变。为了获得新的行为

from __future__ import division

最重要的是脚本中的所有其他导入。或者,您可以强制浮点行为如下:

>>> 1./2.
0.5

您的代码在 Spyder 控制台中运行的原因是因为它已经自动完成了上述导入。

于 2013-08-24T19:51:18.917 回答