Light Mode
Dark Mode
Ground for the house

I would like to have some feedback ... couldn't figure out why it's not working.

From: https://py.checkio.org/mission/ground-for-the-house/solve/

HTTP_USER_AGENT:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0


import re

def house(plan):
    #replace this for solution
    count = 0
    flag = 0
    flag1 = 0
    flag2 = 0
    flag3 = 0
    flag4 = 0
    x = []
    y = []
    list = plan.split('\n')
    print(list)
    for i in list:   #collect a substring
       # print('first loop')
        count += 1 
        if re.search('#',str(i))!= None:
                flag2 = 1
                y.append(flag2)
        else:
            flag2 = 0
            y.append(flag2)
        for j in i:    #iterate over the substring
           # print('second loop')

            if j=='#':
                print('found #') 
                flag = 1    #starting point of the house in the line x
                r_in = i.rindex('#') + 1    #ending point on the line x

            if flag==1:
                for k in range(r_in):
                    flag1 += 1
                x.append(flag1)        # x line length
                flag1 = 0         
                break

    for l in y:
        if l==1:
            break
        flag3 += 1

    for m in reversed(y):
        if m==1:
            break
        flag4 += 1
    print('x')    
    print(x)
    print('y')
    print(y)
    try:            
        a = max(x)
    except ValueError:
        a = 0
    print('count='+str(count))
    print('flag3='+str(flag3))
    print('flag4='+str(flag4))
    b = count - flag3 - flag4
    print('a='+str(a))
    print('b='+str(b))
    print('area='+str(a*b))
    return a*b


if __name__ == '__main__':
    print("Example:")
    print(house('''
0000000
##00##0
######0
##00##0
#0000#0
'''))

    #These "asserts" using only for self-checking and not necessary for auto-testing
    assert house('''
0000000
##00##0
######0
##00##0
#0000#0
''') == 24

    assert house('''0000000000
#000##000#
##########
##000000##
0000000000
''') == 30

    assert house('''0000
0000
#000
''') == 1

    assert house('''0000
0000
''') == 0

    assert house('''
0##0
0000
#00#
''') == 12

    assert house('''
    0000000000
    000###0000
    000#######
    000###0000
    ''') == 21

    print("Coding complete? Click 'Check' to earn cool rewards!")
Created: Dec. 1, 2018, 6:44 a.m.
Updated: Jan. 8, 2019, 11:43 a.m.
0
4
User avatar
Tariq_Imtinan