谁能告诉我为什么我的这个程序只运行操作_执行内容下的内容而不是之后的内容?
import math
class Shape:
def operation_perform(self):
m = input('''
Select the shape:
1. Select 1 for area.
2. Select 2 for perimeter.
''')
if m == '1':
def area(self, a, b = 0):
n = input('''
select the shape:
1. Select 1 for circle.
2. Select 2 for square.
3. Select 3 for rectangular.
''')
if n == '1':
print('area of circle: ', math.pi * self.a**2)
if n == '2':
print('area of square: ', self.a**2)
if n == '3':
print('area of rectangular: ', math.pi * self.a * self.b)
elif m == '2':
def perimeter(self, a, b = 0):
n = input('''
select the shape:
1. Select 1 for circle.
2. Select 2 for square.
3. Select 3 for rectangular.
''')
if n == '1':
print('perimeter of circle: ', 2 * math.pi * self.a)
if n == '2':
print('perimeter of square: ', 4 * self.a)
if n == '3':
print('perimeter of rectangular: ', 2*(self.a + self.b))
else:
exit()
s = Shape()
s.operation_performed()
我得到的输出如下所示:
output:
Select the shape:
1. Select 1 for area.
2. Select 2 for perimeter.
1
为什么我的程序没有进入area()或perimeter()函数。如果不使用构造函数我不能这样做吗?
您正在创建
area
和 perimeter
函数,但从未调用它们。