自定义TriangleError类,若三角形任意两边之和不大于第三边,则抛出该异常,并使用try…except语句捕获该异常,打印提示信息。
时间: 2024-05-09 12:18:31 浏览: 61
好的,这是一个关于Python编程的问题,我可以回答。以下是代码实现:
```python
class TriangleError(Exception):
pass
def check_triangle(a, b, c):
if a + b <= c or a + c <= b or b + c <= a:
raise TriangleError("三角形任意两边之和不大于第三边")
try:
check_triangle(1, 2, 4)
except TriangleError as e:
print("出现异常:", e)
```
当a=1,b=2,c=4时,两边之和不大于第三边,会抛出TriangleError异常并打印提示信息:"出现异常: 三角形任意两边之和不大于第三边"。如果a=3,b=4,c=5时,则不会抛出异常。
相关问题
Python 自定义TriangleError类,若三角形任意两边之和不大于第三边,则抛出该异常,并使用try…except语句捕获该异常,打印提示信息。
好的,这是一个关于Python的问题。你可以使用以下代码来实现这个异常类:
```
class TriangleError(Exception):
pass
```
接下来,你可以在函数中使用try...except语句来捕获该异常并打印提示信息,例如:
```
def calculate_triangle(a, b, c):
if a + b <= c or a + c <= b or b + c <= a:
raise TriangleError("无法构成三角形")
else:
# 返回三角形的计算结果
pass
try:
calculate_triangle(3, 4, 8)
except TriangleError as e:
print(e)
```
当你运行这段代码时,它会捕获TriangleError异常并输出“无法构成三角形”提示信息。
编写程序,要求从键盘输入三个数字(整形或者浮点型),判断这三个数字是否能构成一个三角形。如果可以构成一个三角形,则计算三角形的周长。 1)自定义异常类IllegalArgumentException,对应异常信息为:“a,b,c不能构成三角形” 2)自定义异常类IllegalArgLenException,对应异常信息为:“参数个数不正确” 3)确保键盘输入的是三个值,如果输入值不为3,则抛出IllegalArgLenException异常。
好的,下面是您想要的 Python 代码:
```python
class IllegalArgumentException(Exception):
def __str__(self):
return 'a, b, c不能构成三角形'
class IllegalArgLenException(Exception):
def __str__(self):
return '参数个数不正确'
try:
nums = input('请输入三个数字,以逗号隔开:').split(',')
if len(nums) != 3:
raise IllegalArgLenException
a, b, c = float(nums[0]), float(nums[1]), float(nums[2])
if a + b <= c or a + c <= b or b + c <= a:
raise IllegalArgumentException
print('这三个数字可以构成一个三角形,周长为:', a + b + c)
except ValueError:
print('输入的值必须是数字')
except IllegalArgLenException as e:
print(e)
except IllegalArgumentException as e:
print(e)
```
代码说明:
1. 定义两个异常类IllegalArgumentException和IllegalArgLenException,分别用于处理三个数字不能构成三角形和输入参数个数不正确的情况。
2. 在主程序中,使用try-except语句捕获异常。
3. 首先使用input()函数从键盘输入三个数字,并使用split()函数将它们分隔开。
4. 判断输入参数个数是否为3,如果不是则抛出IllegalArgLenException异常。
5. 将输入的三个数字分别转换为浮点型,并保存在变量a、b、c中。
6. 判断a、b、c是否能构成一个三角形,如果不能则抛出IllegalArgumentException异常。
7. 如果a、b、c能构成一个三角形,则计算三角形的周长并输出。
阅读全文