首页 > 解决方案 > 错误:IndentationError:意外缩进

问题描述

我是 python 新手并开始使用它,所以在基于类和对象运行我的代码时,我收到了这个错误:IndentationError: unexpected indent but can't figure out where I have been wrong Please help me get it &如何解决它谢谢你的期待......祝你有美好的一天!:>

class Get_started:
    def __init__(self,name):
        self.name = str(input('Enter name'))
        print('Hello ',self.name)
        self.rect = self.Rectangle()

    class Rectangle:
    def __init__(self):
        print('In this program we are gonna calculate the area of rectange')

    def get_lb(self,l,b):
        self.l = int(input('Enter length  : '))
        self.b = int(input('Enter breadth : '))

    def show():
        print('Length & Breadth of rectangle are ',self.l,' & ',self.b)
    def cal_area(self):
        self.area = self.l * self.b
            print('Area : ',self.area)

m1 = Get_started('mr_halkat')
m1.Rectangle.get_lb()
m1.Rectangle.show()
m1.Rectangle.cal_area()

标签: python-3.xpython-3.7

解决方案


您需要缩进Rectangle类中的所有内容,并减少方法中print语句的缩进cal_area

这是修改后的代码:

#!/usr/bin/python

class Get_started:
    def __init__(self,name):
        self.name = str(input('Enter name'))
        print('Hello ',self.name)
        self.rect = self.Rectangle()

    class Rectangle:
        def __init__(self):
            print('In this program we are gonna calculate the area of rectange')

        def get_lb(self,l,b):
            self.l = int(input('Enter length  : '))
            self.b = int(input('Enter breadth : '))

        def show():
            print('Length & Breadth of rectangle are ',self.l,' & ',self.b)
        def cal_area(self):
            self.area = self.l * self.b
            print('Area : ',self.area)

m1 = Get_started('mr_halkat')
m1.Rectangle.get_lb()
m1.Rectangle.show()
m1.Rectangle.cal_area()

推荐阅读