IndentationError: expected an indented block, python (if/else)

后端 未结 3 1787
北恋
北恋 2020-12-12 04:59

I can\'t find the error

def free_car(lane_a,lane_b,lane_c):
    cars_a = len(lane_a)
    cars_b = len(lane_b)
    cars_c = len(lane_c)

             


        
相关标签:
3条回答
  • 2020-12-12 05:24

    You only have comments inside those if and else blocks. That's not syntactically valid; you need an executable statement of some kind. You can use pass if there's nothing better, although in real code it's usually preferable to refactor so that the empty block isn't necessary.

    0 讨论(0)
  • 2020-12-12 05:39

    In a block like this:

    if cars_a >= cars_b:
        #free_1_a
        #free_1_b
    else:
        #free_1_b
        #free_1_a
    

    Since both free_1_a and free_1_b are commented out, they are effectively empty to python. It is illegal.

    You can resolve it by adding pass

    i.e.

    if cars_a >= cars_b:
        #free_1_a
        #free_1_b
        pass
    else:
        #free_1_b
        #free_1_a
        pass
    

    pass basically means 'no operation'

    0 讨论(0)
  • 2020-12-12 05:39

    Python requires a statement after each clause. If you want it to do nothing, simply write the word pass

    if cars_c >= 7:
        #free_1_c
        if cars_a >= cars_b:
            pass
            #free_1_a
            #free_1_b
        else:
            pass
            #free_1_b
            #free_1_a
    elif cars_a >= cars_b:
        #free_1_a
        if cars_b > cars_c:
            pass
            #free_1_b
            #free_1_c
        else:
            pass
            #free_1_c
            #free_1_b
    elif cars_b > cars_a and cars_b > cars_c:
        #free_1_b
        if cars_a > cars_c:
            pass
            #free_1_a
            #free_1_c
        else:
            pass
            #free_1_c
            #free_1_a
    else:
        pass
        #we
    
    0 讨论(0)
提交回复
热议问题