Python 互易函数的生成点集

Python 互易函数的生成点集,python,Python,各位 我正在写一个函数,它生成点来绘制一个倒数函数。代码如下: def genRecp(xValrange=3, shiftHoriz=0, shiftVert=0, vertStrech=1, horizStrech=1): #setup variables for processing xrangeP = xValrange xrangeN = xrangeP - xrangeP * 2 vals = [] #start adding values t

各位

我正在写一个函数,它生成点来绘制一个倒数函数。代码如下:

def genRecp(xValrange=3, shiftHoriz=0, shiftVert=0, vertStrech=1, horizStrech=1):
    #setup variables for processing
    xrangeP = xValrange
    xrangeN = xrangeP - xrangeP * 2
    vals = []
    #start adding values to array
    while xrangeN <= xrangeP:
        curX = xrangeN
        if curX == 0:
            xrangeN += 1
            continue
        #generate y values
        curY = vertStrech * (1 / (horizStrech * curX - shiftHoriz)) + shiftVert
        newVal = [curX, curY]
        #add value to array
        vals.append(newVal)
        #LOOOOOOP!
        xrangeN +=1
    return vals
我收到这个输出:
[-3,-1],-2,-1],-1,-1],[1,1],[2,0],[3,0]
这显然不是一个倒数函数的基点数组


我做错了什么?提前谢谢。

您的默认参数值都是整数,计算
curY
的行使用整数除法
/
。将计算值舍入为整数


通过在
float()
typecast函数中包装分子和分母,使值成为非整数(即浮点),强制值浮动。或者可以将该行中的
1
常量更改为
1.0

您的默认参数值都是整数,并且计算
curY
的行使用整数除法
/
。将计算值舍入为整数


通过在
float()
typecast函数中包装分子和分母,使值成为非整数(即浮点),强制值浮动。或者将该行中的
1
常量更改为
1.0

谢谢您的建议。将所有值更改为float后,一切都解决了。如果您的意思是只更改了默认值,我建议您超出此范围。调用者可能使用所有整数参数,这可能导致整数坐标。谢谢您的建议。将所有值更改为float后,一切都解决了。如果您的意思是只更改了默认值,我建议您超出此范围。调用者可以使用所有整数参数,这可能导致整数坐标。
genRecp()