所有人
我正在写一个函数,生成点来绘制一个互易函数。代码如下:
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
但是,当我执行以下命令时,代码看起来很好:
genRecp()
我收到这个输出:[[-3, -1], [-2, -1], [-1, -1], [1, 1], [2, 0], [3, 0]]
,这显然不是一个倒数函数的基点数组
我做错什么了?先谢谢你
默认参数值都是整数,计算
curY
的行使用整数除法/
。将计算值舍入为整数做一些事情使你的值成为非整数,即浮点,通过在
float()
类型转换函数中包装分子和分母,强制你的值浮动。或者将该行中的1
常量更改为1.0
相关问题 更多 >
编程相关推荐