使用Python 3而不是Python2的Turtle参数代码

时间:2015-09-16 22:55:50

标签: python python-3.x turtle-graphics

我有以下代码使用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中的输出曲线(错误的): -

enter image description here

Python 3中的曲线(正确的): -

enter image description here

任何人都有任何想法。我认为math.sin接受弧度,我根据转换后跟比例因子输入弧度。

2 个答案:

答案 0 :(得分:2)

整数除法在版本2中使用截断。它在版本3中产生浮点结果。尝试更改

i/1000

i/1000.0

答案 1 :(得分:0)

在开始PEP-0238时添加:

from __future__ import division