```python import math class Ball: def __init__(self, radius): # 初始化球体对象,设置半径 self.radius = radius def surface_area(self): # 计算并返回球的表面积 # 表面积公式:4 * pi * r^2 return 4 * math.pi * self.radius ** 2 def volume(self): # 计算并返回球的体积 # 体积公式:(4/3) * pi * r^3 return (4/3) * math.pi * self.radius ** 3 # 示例调用 radius = eval(input("请输入球的半径: ")) ball = Ball(radius) print("球的半径:{:.2f}".format(ball.radius)) print("球的表面积:{:.2f}".format(ball.surface_area())) print("球的体积:{:.2f}".format(ball.volume())) ``` ### 需要注意的逻辑点: 1. `eval` 函数直接执行输入的内容,存在安全风险。建议使用 `float(input())` 替代 `eval(input())` 来避免潜在的安全问题。 2. 输入的半径应该是一个正数,可以在初始化时添加一个检查,确保半径为正数。 3. 打印结果时,可以考虑增加一些提示信息,使输出更友好。 [2024-11-28 21:18:01 | AI写代码神器 | 297点数解答]