在Python中使用龟的肺活量记录仪

时间:2016-02-10 11:55:44

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

我正在尝试使用Python的龟来为一个呼吸描记器编写代码,但我不断收到一个奇怪的错误。
到目前为止,这是我的代码:

    suppliers.add(person::getName);
    suppliers.add(person::getLastName);

出于某种原因,我不断收到以下错误:

import turtle
from math import *


def formulaX(R, r, p, t):
    x = (R-r)*cos(t) - (r+p)*cos((R-r)/r*t)

def formulaY(R, r, p, t):
    y = (R-r)*sin(t) - (r+p)*sin((R-r)/r*t)

def t_iterating(R, r, p):
    t = 0 
    turtle.down()

    while t < 20*pi:
        t = t+0.01
        turtle.goto(formulaX(R, r, p, t), formulaY(R, r, p, t))
    turtle.up()


def main():
    R = int(input("The radius of the fixed circle: "))
    r = int(input("The radius of the moving circle: "))
    p = int(input("The offset of the pen point, between <10 - 100>: "))

    if p < 10 or p > 100:
        input("Incorrect value for p!")

    t_iterating(R, r, p)

    input("Hit enter to close...")

main()

如何解决此错误?

2 个答案:

答案 0 :(得分:1)

函数formulaXformulaY 隐式返回None。为了在return等其他功能中使用它,您必须t_iterating来自它们的某些值。

所以你想要的是:

def formulaX(R, r, p, t):
    return (R-r)*cos(t) - (r+p)*cos((R-r)/r*t)

答案 1 :(得分:0)

只需在main()

之前添加它
for i in range(100):
    main()