首页 > 解决方案 > 为什么我会得到 int?

问题描述

我在 Mac 上工作,为什么我总是得到整数,而不是分数?

def dis(x1,y1,x2,y2):
    k = ( (x2-x1)**2+(y2-y1)**2 )**1/2
    print(k)

x1 = int(input())

y1 = int(input())

x2 = int(input())

y2 = int(input())

dis(x1,y1,x2,y2)

标签: pythonmacos

解决方案


如果您使用的是 python2,/如果两个部分都是ints,则为整数除法。

你想要要么

def dis(x1,y1,x2,y2):
    k = ( (x2-x1)**2+(y2-y1)**2 )**0.5  # you can also do (1/2.0)
    print(k)

或者

def dis(x1,y1,x2,y2):
    k = ( (x2-x1)**2+(y2-y1)**2 )**1/2.0
    print(k)

(最后一个意义不大)


推荐阅读