运行Python代码输出含100.789,不修改其余代码如何删除该输出值?
问题原因
你传入的petals参数是字符串类型的'100.798',Python的int()方法无法直接转换带小数点的字符串,会抛出ValueError异常。此时try分支的赋值逻辑不会执行,petals变量仍保留原始的字符串值,赋值给self.petals后打印就会输出该数值。
解决方案(不修改Flower类原有代码的前提下)
- 方案1:修改实例化时传入的petals参数格式,传入可正常转换为int的内容,比如直接传入整数:
或者传入不带小数点的字符串格式整数:flower1= Flower('Rose',100,'100')
此时int转换逻辑可正常执行,flower1= Flower('Rose','100','100')self.petals会被赋值为整数100,不会输出原有的带小数字符串。 - 方案2:如果不需要输出petals属性值,直接删除最后一行的
print(flower1.petals)代码即可,不会再有对应输出。
内容的提问来源于stack exchange,提问作者SOUVIK MUKHERJEE
相关产品推荐
相关产品推荐

