Python:TypeError: type str doesn't define __round__ method完美解决

问题源码:

# 1.获取输入
a=input()

# 2.将输入转换成浮点数
float(a)
# 3.将实数四舍五入到小数点后一位
round(a,1)

# 4.输出只有一位小数位的数
print("%.1f"%a)

这时候运行会出现报错:type str doesn’t define round method
究其原因就是round里的参数不可以出现未知数和String字符串,所以如果出现字符串类的就会出现以上报错。

解决方案:把str类型a强转为浮点数类型

# 1.获取输入
a=input()

# 2.将输入转换成浮点数
c=float(a)
# print(a)
# 3.将实数四舍五入到小数点后一位
# n=1
round(c,1)

# 4.输出只有一位小数位的数
print("%.1f"%c)

所以类似上面,如果出现此错误,请根据类型排查错误

你可能感兴趣的:(Python)