编写程序,按用户输入的半径计算圆的面积,若半径为负值则抛出异常
时间: 2024-02-26 15:56:23 浏览: 54
输入半径求圆面积
好的,我可以帮你编写这个程序。以下是 Python 代码示例:
```python
import math
class NegativeRadiusError(Exception):
pass
def calculate_circle_area(radius):
if radius < 0:
raise NegativeRadiusError("半径不能为负数")
else:
return math.pi * radius ** 2
try:
radius = float(input("请输入圆的半径:"))
area = calculate_circle_area(radius)
print("圆的面积为:", round(area, 2))
except NegativeRadiusError as e:
print("输入错误:", e)
except ValueError:
print("输入错误:半径必须为数字")
```
在这个程序中,我们定义了一个 `NegativeRadiusError` 异常类来表示半径为负数的错误。`calculate_circle_area` 函数接受一个半径参数,如果半径为负数则抛出 `NegativeRadiusError` 异常,否则返回圆的面积。
在程序的主体代码中,我们使用 `try-except` 语句来捕获异常并进行处理。如果用户输入的半径为负数,则会抛出 `NegativeRadiusError` 异常并打印错误消息;如果用户输入的半径不是数字,则会抛出 `ValueError` 异常并打印错误消息。如果一切正常,则会计算圆的面积并打印结果。
希望这个程序能够帮到你,如果有任何疑问请随时向我提问。
阅读全文