|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- class rectangular:
- length = 0
- width = 0
- def __init__(self,length,width):
- n = 1
- while n == 1:
- if length<width: #如果这里用了self.length和self.width
- #的话,则代表的是调用类本身的属性
- print('你输入的长比宽小,输入错误了,请重新输入。')
- __init__(self,length,width)
- else:
- self.length = length
- self.width = width
- n = 2
- return n
-
-
- def getRect(self):
- a = print('长宽分别为:',self.length,self.width)
- return a
- def getArea(self):
- print('获取面积被调用了')
- area = self.length*self.width
- print('面积为:',area)
复制代码
我的问题是当实例化这个类的时候,需要输入矩形的长和宽,但是如果长比宽小则我就让用户就得重新在实例化一次,想过用递归可是用的不对
给你改了下,错的比较多,不过就是不知道改过以后是不是你想要的功能。
- class Rectangular:
- length = 0
- width = 0
-
- def __init__(self, length, width):
- if length < width: # 如果这里用了self.length和self.width
- # 的话,则代表的是调用类本身的属性
- l, w = tuple(map(int, input('你输入的长比宽小,输入错误了,请重新输入,以,分割:').split(',')))
- Rectangular.__init__(self, l, w)
- else:
- self.length = length
- self.width = width
-
- def getRect(self):
- return print('长宽分别为:', self.length, self.width)
-
- def getArea(self):
- print('获取面积被调用了')
- area = self.length * self.width
- print('面积为:', area)
- r = Rectangular(3, 6)
- r.getRect()
- r.getArea()
复制代码
输出:
- 你输入的长比宽小,输入错误了,请重新输入,以,分割:6,4
- 长宽分别为: 6 4
- 获取面积被调用了
- 面积为: 24
复制代码
|
|