考虑一个Circle类,用于表示圆形对象。 Circle类的实例将具有称为半径的属性,其指示圆的大小。此类的构造方法(例如init)将照常初始化此属性。使用'try','raise','except'函数编写一个短程序
显然,这没有任何意义了Circle对象为具有的尺寸小于或等于0
如果有人试图创建一个具有负或零半径的圆的对象,那么你就应该提高一个ValueError类型的异常。该ValueError异常对象应具有以下字符串创建:
半径不得小于或等于0
此外,如果有人试图创建一个非整数值半径的圆的对象,那么你应该引发TypeError类型的异常。的对象ValueError错误应与以下字符串创建:
半径必须是一个整数值
定义有防止圆对象与一个无效的半径创建的构造方法的Circle类。这个类的再版和STR函数应返回以下字符串:
圈(X)
其中x是圆的半径。
例如:
def main():
try:
c = Circle(10)
except ValueError as x:
print("Error: " + str(x))
else:
print(c)
def __init__(self, x):
try:
if x <= 0:
raise ValueError('Radius must not be less than or equal to 0')
elif x != int or x != float:
raise TypeError('Radius must be an integer value')
except ValueError as x:
print('Error: {0}'.format(x))
except TypeError as x:
print('Error: {0}'.format(x))
main()
结果应该是:
Circle(10)
如果C =圈(-100),结果应该是:
Error: Radius must not be less than or equal to 0
然而,部分“def init(self,x)”不正确。 有人可以帮忙吗?! 谢谢!
你似乎并不有一个Circle类的任何地方。 – user2357112