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()