TypeError: 'int' object is not subscriptable
h,w = map(int,input().split()) #5 5
n = int(input()) #3

d=[]
for i in range(h):
    d.append([])
    for k in range(w):
        d[i].append(0) 

for count in range(n):
    l, d, x, y = map(int, input().split())
    x=x-1
    y=y-1 #0 1 2 3 4 범위로 바꿈
    
    for j in range(l):
        if(d == 0):
            d[x][y+j] = 1   
        else:
            d[x+j][y] = 1
            

for i in range(h):
    for k in range(w):
        print(d[i][k], end=' ')
    print()

분명 맞게 짠 코드 같은데 자꾸 에러가 나서 뭘까 고민했는데 

오류내용은 인덱스를 갖지 않는 값에 인덱스를 가지게 코드를 짤 경우 발생하는 오류였다.

변수 d도 선언하고 리스트 이름도 d로 선언했기 때문에 충돌이 나서 그랬던 것 같다..!

 

리스트명을 board로 바꿔줬더니 잘 작동이 됐다!

앞으로는 에러가 난다면 변수명도 꼼꼼히 보는 습관을 들이자

h,w = map(int,input().split()) #5 5
n = int(input()) #3

board=[]
for i in range(h):
    board.append([])
    for k in range(w):
        board[i].append(0) 

for count in range(n):
    l, d, x, y = map(int, input().split())
    x=x-1
    y=y-1 #0 1 2 3 4 범위로 바꿈
    
    for j in range(l):
        if(d == 0):
            board[x][y+j] = 1   
        else:
            board[x+j][y] = 1
            

for i in range(h):
    for k in range(w):
        print(board[i][k], end=' ')
    print()

 

+ Recent posts