报错‘NoneType’ object has no attribute ‘round’:厘米转英尺英寸代码排查
错误原因与代码修正
错误根源
print()函数执行后返回的是None,你在print(...)后面链式调用.round(),本质是对None对象调用方法,但NoneType根本没有round属性,这就是报错的直接原因。- 原代码中
print的参数是一个元组,虽然语法合法,但输出格式不够直观,且完全没必要在print后追加round操作。
修正后的代码
cm = int(input("Write height in Centimeters:")) inches = 0.394 * cm feet = 0.0328 * cm # 使用f-string格式化输出,先对数值做四舍五入处理 print(f"The length in inches: {round(inches, 2)}") print(f"The length in feet: {round(feet, 2)}")
说明
- 先完成厘米到英寸、英尺的转换计算;
- 用
round()函数对结果保留两位小数,再通过f-string将文本和数值组合成可读性更好的字符串; - 直接将格式化后的字符串传给
print()输出即可,无需在print后附加任何方法调用。
内容的提问来源于stack exchange,提问作者Jaywardhan
相关产品推荐
相关产品推荐

