Python3 Error ValueError: invalid literal for int() with base 10: '1.8'

Python3 Error ValueError: invalid literal for int() with base 10: '1.8'

我正在尝试使用 python 制作计算脚本,但我 运行 遇到了这个问题:

ValueError:以 10 为底的 int() 无效文字:“1.8”

我正在尝试要求用户输入数字,如 2000,但当输入包含“,”或“.”时它将输出该错误。

这是代码:

Buiten = int(input("Buiten: "))
Binnen = int(input("Binnen: "))
DikteF = int(input("Dikte: "))
Sortle = int(input("Soortelijk gewicht: "))

inputs = Buiten,Binnen,DikteF,Sortle
Pi = 3.14

R1 = Buiten / 2
R2 = Binnen / 2

UD1 = Pi*R1/1000*R1/1000
UD2 = Pi*R2/1000*R2/1000

Tpv = UD1 - UD2

Ltr = Tpv * DikteF

Srt = Ltr * Sortle


print("")
print("Uitwendige Diameter = ",(round(UD1, 3)),"m²")
print("Inwendige Diameter = ",(round(UD2, 3)),"m²")
print("Product Oppervlak = ",(round(Tpv, 3)), "m²")
print("")
print("Inhoud in L = ",(round(Ltr, 3)),"Liters")
print("Totaal gewicht = ",(round(Srt, 3), "Kilos" ))
print("")
os.system("pause")

虽然正确: 尝试: 贝雷肯() 除了: print("Fout: Gebruik alleen cijfers.") time.sleep(4) 贝雷肯()

Python returns 错误,因为它期望 整数 值作为字符串转换为整数。但是,传递小数时,尝试转换为整数会失败,因为它们不是整数。

如果您要插入整数或小数,请使用 float

Buiten = float(input("Buiten: "))
Binnen = float(input("Binnen: "))
DikteF = float(input("Dikte: "))
Sortle = float(input("Soortelijk gewicht: "))