我有以下代码使用turtle模块在python中绘制参数曲线。我不明白为什么这在python 3中工作而不在python 2中。
两种变体的代码
import turtle
import math
def line(x1,y1,x2,y2):
turtle.up()
turtle.goto(x1,y1)
turtle.down()
turtle.goto(x2,y2)
def plot():
turtle.up()
turtle.goto(0,150)
turtle.down()
for i in range(0, int(2*math.pi*1000),10):
turtle.goto(150*math.sin(2*(i/1000)),150*math.cos(5*(i/1000)))
def axes():
line(-200,0,200,0)
line(0,-200,0,200)
def main():
turtle.setup()
turtle.color("blue")
axes()
turtle.color("red")
plot()
turtle.done()
main()
Python 2中的输出曲线(错误的): -
Python 3中的曲线(正确的): -
任何人都有任何想法。我认为math.sin接受弧度,我根据转换后跟比例因子输入弧度。
答案 0 :(得分:2)
整数除法在版本2中使用截断。它在版本3中产生浮点结果。尝试更改
i/1000
到
i/1000.0
答案 1 :(得分:0)
在开始PEP-0238时添加:
from __future__ import division