从模块蟒蛇进口功能3

问题描述:

我创建的函数从模块蟒蛇进口功能3

def distance(x0, y0, x1, y1): 
     import math 
     return math.sqrt((x1 - x0)**2 + (y1 - y0)**2) 

并将其保存为distance.py 然后我试图运行使用x0 =10, y0=20, x1=50 y1=50代码

from distance import distance 
x0=input("Please input x0") 
y0=input("Please input y0") 
x1=input("Please input x1") 
y1=input("Please input y1") 
print ("") 
print (distance()) 

答案应该是50.0,但我得到“功能距离为0x058625D0”

请帮忙

+4

你确定你没有'print(distance)'?无论哪种方式,您都没有将任何参数传递给函数 – Blender 2013-03-05 04:36:39

+0

您还没有将参数传递给函数 – avasal 2013-03-05 04:38:07

+1

,您需要将输入字符串转换为数字,例如'x0 = float(input())'(Python 3) 。在函数外面移动'import math'。 – jfs 2013-03-05 05:01:48

代码切换到:

from distance import distance 
x0=float(input("Please input x0: ")) 
y0=float(input("Please input y0: ")) 
x1=float(input("Please input x1: ")) 
y1=float(input("Please input y1: ")) 
print ("") 
print (distance(x0, y0, x1, y1)) 

您需要先输入值转换成浮动使他们在工作的功能,然后你需要真正把它们传递给你的函数。