簡體   English   中英

為什么我會得到 int?

[英]why do I get int?

我在 Mac 上工作,為什么我總是得到 integer,而不是分數?

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)

您的代碼有錯誤。 它應該是:

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

你必須在括號之間寫 1/2,或者你正在做 ((...)**1)/2

如果您使用的是 python2, /是 integer 除法,如果兩個部分都是int s。

你想要要么

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)

(最后一個意義不大)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM