当执行下面代码时,输入正整数没问题。但是当输入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格式。