简体   繁体   English

预期缩进的块

[英]Expected an indented block

I'm getting an Expected an indented block here's the code, thank you for any help. 我得到了一个预期的缩进块,这是代码,谢谢您的帮助。

        #Given the menu the user will calculate the area of square, circle, rectangle
from math import pi
def main ():

    #declare and initialize variables

    #float radius = length = width = base = height = 0.0
    radius = length = width = base = height = 0.0

    #float areaCircle = areaRectangle = areaTriangle = 0.0
    areaCircle = areaRectangle = areaTriangle = 0.0

    #int menuChoice = 0
    menuChoice = 0

    #display intro

    while menuChoice != 4:
            #Display menu
            print("Geometry Calculator")
            print("1) Calculate the Area of a Circle")
            print("2) Calculate the Area of a Rectangle")
            print("3) Calculate the Area of a Triangle")
            print("4) Quit")

            #Prompt for menuChoice

            if menuChoice == 1:
                while radius < 0:
                    #prompt for radius
                    radius = eval(input("What is radius of circle: "))
                if radius < 0:
                    #display invalid
                    print("Invalid input. Cannot be a negative value.")
                    #calculate areaCircle
                    areaCircle = pi*r**2
                    #display areaCircle
                    print("The area of the circle is: ", areaCircle)

            elif menuChoice == 2:
                while length < 0:
                    #prompt for length
                    length = eval(input("What is the length of the rectangle: "))
                if length < 0:
                    #display invalid
                    print("Invalid input. Cannot be a negative value.")
                while width < 0:
                    #prompt for width
                    width = eval(input("What is the width of the rectangle: "))
                if width < 0:
                    #display invalid
                    print("Invalid input. Cannot be a negative value.")
                    #calculate areaRectangle
                    areaRectangle = length * width
                    #diplay areaRectangle
                    print("The area of the rectangle is: ", areaRectangle)

            elif menuChoice == 3:
                while base < 0:
                    #prompt for base
                    base = eval(input("What is the length of the base of the triangle:"))
                if base < 0:
                   #display invalid
                    print("Invalid input. Cannot be a negative value.")
                while height < 0:
                    #prompt for height
                    height = eval(input("What is height of triangle"))
                if height < 0:
                    #display invalid
                    print("Invalid input. Cannot be a negative value.")
                    #calculate areaTriangle
                    areaTriangle = 1/2 * base * height
                    #display areaTriangle
                    print("The area of the triangle is: ", areaTriangle)

            elif menuChoice == 4:
                #display exit message

            else:
                #display invalid
                print("You must choose a number between 1-4 from the menu")

The error pops up at else. 错误在其他地方弹出。 I've tried indenting one at a time, probably something small i'm overlooking third week into programming. 我尝试一次缩进一个,可能有点小,我在编程的第三周就忽略了。

You need some sort of placeholder for the final elif block. 最后的elif块需要某种占位符。 You may use the standard Python non-op, pass : 您可以使用标准的Python non-op, pass

elif menuChoice == 4:
    #display exit message
    pass

I'm assuming this will eventually be replaced by some other code, so the problem would have resolved itself had you continued working. 我假设它将最终被其他一些代码替换,因此如果您继续工作,该问题将自行解决。 If you are not planning on putting anything in this block, omit it entirely. 如果您打算在此块中放置任何内容,请完全省略。 There is no need for a conditional branch that does nothing. 不需要执行任何操作的条件分支。

It's the last line (#display exit message). 这是最后一行(#display退出消息)。 Add a correctly indented pass statement, until you know what to do here. 添加正确缩进的pass语句,直到您知道在这里做什么。 You need an actual python statement here, not a comment. 您在这里需要一个实际的python语句,而不是注释。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM