gpt4 book ai didi

Python 2.7.12 无法正常运行我的脚本

转载 作者:太空宇宙 更新时间:2023-11-04 11:18:29 25 4
gpt4 key购买 nike

使用 python 2.7.12 运行 python 脚本不会给出预期的答案。但是,使用 python 3.5.2 运行它,确实如此。

我安装了 Ubuntu 16.04 和 python 2.7.12(默认)以及 python 3.5.2

我在另一台使用 python 2.7.12 的 Linux 机器上运行脚本,问题是一样的。

我认为问题在于用于计算变量(脚本中的 y)的 for 循环。好像没有更新吧。

from numpy import *
from matplotlib.pyplot import *
import seaborn as sns


sns.set_style('whitegrid')

x0=0
y0=1
xf=10
n=101
deltax=(xf-x0)/(n-1)
x=linspace(x0,xf,n)
y=zeros([n])
y[0]=y0

for i in range(1,n):
y[i] = deltax*(-y[i-1] + sin(x[i-1])) +y[i-1]

for i in range(n):
print(x[i],y[i])

plot(x,y,'o')
show()

期待正弦函数的绘图。

python 3.5.2 绘制了一个正弦函数,但是python 2.7.12 绘制一条平坦的水平线。

最佳答案

你的问题在这里

deltax=(xf-x0)/(n-1)

/ 运算符在 Python 3 和 Python 2 之间有所不同。参见例如herePEP238

在 Python 2 中,两个整数之间的 / 执行整数除法。在 Python 3 中,它执行浮点除法。这意味着对于 Python 2

deltax = (xf - x0) / (n - 1) = (10 - 0) / 100 == 0

在 Python 3 中

deltax = (xf - x0) / (n - 1) = (10 - 0) / 100 == 0.1

如果你想在 Python 2 中进行浮点除法,你需要请求它,例如

deltax = (xf - x0) / float(n - 1)

关于Python 2.7.12 无法正常运行我的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56500202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com