2016-07-20 179 views
1
height_feet = int(input("Enter portion of height in feet ")) 
height_inch = int(input("Enter portion of heigh in inches")) 
height_in_inch = height_feet * 12 + height_inch 
height_in_cm = height_in_inch * 2.54 
print (height_in_cm) 

Enter portion of height in feet 6 
Enter portion of heigh in inches1.5 
Traceback (most recent call last): 
    File "Untitled.py", line 2, in <module> 
    height_inch = int(input("Enter portion of heigh in inches")) 
ValueError: invalid literal for int() with base 10: '1.5' 
>>> 

我的品牌新的Python,我不明白爲什麼它顯示此錯誤,當我試圖通過一些帶有小數點ValueError異常:無效的字面INT()基數爲10:

+2

您正在尋找'float'而不是'int'(用於英寸測量)。整數是一個可以不帶分數的數字。沒有一個分數就不能寫1.5。 – Alex

+0

您不能將非整數的字符串轉換爲整數。 1.5不是一個整數,所以會引發該錯誤。嘗試使用'float'代替 –

+2

@PeterWang Python沒有*強制轉換*。調用'int'將*解析字符串並獲得一個'int'值。 Casting是*靜態*類型語言中使用的操作,您基本上告訴編譯器將該值視爲其他類型。有時它需要對值進行小的修改(例如,添加填充'0'),但肯定不像解析十進制文字。 – Bakuriu

回答

0

倍增這應該是float類型,而不是int類型。

0

在Python和其他地方,整數只有整數數字。 1.5,1.2,pi,帶小數的任何東西都不是int。你想要float來描述它們。它是浮點數的簡稱。

相關問題