【Python】报错ValueError: invalid literal for int() with base 10的解决办法

当执行下面代码时,输入正整数没问题。但是当输入1个浮点数,比如1.2,

就会报错ValueError: invalid literal for int() with base 10。:

a = int(input("请输入数字:"))

度娘之后发现原因如下

1.输入浮点数之后,变成字符串。字符串有1个小数点,导致int()无法转换

2.如果是正整数的字符串,int()是可以转换成功的。

解决方法
1.先转成浮点数,再转成正整数。int(float(a))

a = input("请输入a:")
print(a, type(a),int(float(a)))

输入1.2,可以看到type(a)是str格式。

 

你可能感兴趣的:(Python)